国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一、理論

1.克隆表與清空表

2.SQL高級(jí)語(yǔ)句

3.SQL函數(shù)

4.SQL高級(jí)操作

5.MySQL中6種常見的約束

二、實(shí)驗(yàn)

?1.克隆表與清空表

2.SQL高級(jí)語(yǔ)句

3.SQL函數(shù)

4.SQL高級(jí)操作

5.主鍵表和外鍵表

?三、總結(jié)


一、理論

1.克隆表與清空表

克隆表:將數(shù)據(jù)表的數(shù)據(jù)記錄生成到新的表中。

(1)克隆表

①?先創(chuàng)建再導(dǎo)入

create table 新表 like 舊表;			
insert into 新表 select * from 舊表;		
 
例如:
create table test1 like students;		#通過(guò) LIKE 方法,復(fù)制 info 表結(jié)構(gòu)生成 test01 表
insert into test1 select * from students;			#導(dǎo)入數(shù)據(jù)

②?創(chuàng)建的時(shí)候同時(shí)導(dǎo)入

create table test2 (select * from students);

(2)清空表

清空表:刪除表內(nèi)的所有數(shù)據(jù)。

①delete刪除(自增長(zhǎng))

DELETE清空表后,返回的結(jié)果內(nèi)有刪除的記錄條目;DELETE工作時(shí)是一行一行的刪除記錄數(shù)據(jù)的;如果表中有自增長(zhǎng)字段,使用DELETE FROM 刪除所有記錄后,再次新添加的記錄會(huì)從原來(lái)最大的記錄 ID 后面繼續(xù)自增寫入記錄。

②truncate刪除(重新記錄)

TRUNCATE 清空表后,沒(méi)有返回被刪除的條目;TRUNCATE 工作時(shí)是將表結(jié)構(gòu)按原樣重新建立,因此在速度上 TRUNCATE 會(huì)比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表內(nèi)數(shù)據(jù)后,ID 會(huì)從 1 開始重新記錄。

truncate table 表名;
 
例如:
truncate table test1;

③創(chuàng)建臨時(shí)表(退出數(shù)據(jù)庫(kù)自動(dòng)銷毀)

臨時(shí)表創(chuàng)建成功之后,使用SHOW TABLES命令是看不到創(chuàng)建的臨時(shí)表的,臨時(shí)表會(huì)在連接退出后被銷毀。 如果在退出連接之前,也可以可執(zhí)行增刪改查等操作,比如使用 DROP TABLE 語(yǔ)句手動(dòng)直接刪除臨時(shí)表。

##添加臨時(shí)表test3
create temporary table test3 (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
 
show tables;					## 查看當(dāng)前庫(kù)中所有表
insert into test3 values(1,'zhangsan',123456789,'watch a film');		##在臨時(shí)表中添加數(shù)據(jù)
select * from test3;			##查看當(dāng)前表中所有數(shù)據(jù)
quit							##退出數(shù)據(jù)庫(kù)
 
mysql -u root -p				##重新登錄后進(jìn)行查看			
select * from test3;			##查看之前創(chuàng)建的臨時(shí)表中所有數(shù)據(jù),發(fā)現(xiàn)已經(jīng)被自動(dòng)銷毀

2.SQL高級(jí)語(yǔ)句

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?

(1)select查詢語(yǔ)句

①select:顯示表格中的一個(gè)或者多個(gè)字段中所有的信息

#格式:select 字段名  from 表名;
 
#示例1:顯示數(shù)據(jù)表students的所有數(shù)據(jù)
select * from students;
 
#示例2:顯示數(shù)據(jù)表students的名字與年齡字段
select name,age from students;

②distinct查詢不重復(fù)記錄

#語(yǔ)法:select distinct 字段 from 表名﹔
 
#示例1:去除年齡字段中重復(fù)的
select distinct age from students;
 
#示例2:查找性別
select distinct gender from students;

③where根據(jù)條件查詢

#語(yǔ)法:select '字段' from 表名  where 條件
 
#示例:顯示name和age 字段 并且要找到age小于20
select name,age from students where age < 20;

④and且、or或:根據(jù)多個(gè)條件查詢

#語(yǔ)法:select 字段名  from 表名 where 條件1 (and|or) 條件2 (and|or)條件3;
 
#示例:顯示name和age 并且要找到age大于20小于30
select name,age from students where age >20 and age <30;

⑤in顯示已知值的資料

#語(yǔ)法:select 字段名  from 表名 where 字段 in ('值1','值2'....);
 
#示例1:顯示學(xué)號(hào)為1,2,3,4的學(xué)生記錄
select * from students where StuID in (1,2,3,4);
 
#示例2:顯示班級(jí)為1和3的學(xué)生記錄
select * from students where ClassID in (1,3);

⑥between:顯示兩個(gè)值范圍內(nèi)的資料

#語(yǔ)法:select 字段名  from 表名 where 字段 between  '值1' and '值2';
包括 and兩邊的值
 
#示例1:顯示學(xué)生姓名在Ding Dian和Hua Rong中的學(xué)生記錄
select * from students where name between 'ding dian' and 'Hua Rong';
 
#示例2:顯示學(xué)生號(hào)碼id在2-5 的信息
select * from students where stuid between 2 and 5;
 
 
#示例3:顯示學(xué)生年齡在20-35之間的信息,不需要表中一定有該字段,只會(huì)將20到25 已有的都顯示出來(lái)
select * from students where age between 20 and 25;
 

⑦?like+通配符:模糊查詢

表1 like通配符

通配符 含義
% 表示零個(gè),一個(gè)或者多個(gè)字符
_ 下劃線表示單個(gè)字符
A_Z 所有以A開頭 Z 結(jié)尾的字符串 'ABZ' 'ACZ' 'ACCCCZ'不在范圍內(nèi) 下劃線只表示一個(gè)字符 AZ 包含a空格z
ABC% 所有以ABC開頭的字符串 ABCD ABCABC
%CBA 所有以CBA結(jié)尾的字符串 WCBA CBACBA
%AN% 所有包含AN的字符串 los angeles
_AN% 所有 第二個(gè)字母為 A 第三個(gè)字母 為N 的字符串
#語(yǔ)法:select 字段名  from 表名 where 字段 like 模式
#示例1:查找名字以s開頭的學(xué)生記錄
select * from students where name like 's%';
 
#示例2:查找名字包含ong的學(xué)生記錄
select * from students where name like '%ong%';
 
#示例3:查找名字第二個(gè)字母為u,第三個(gè)字母為a的學(xué)生記錄
select * from students where name like '_ua%';

(8)order by按關(guān)鍵字排序

#語(yǔ)法:
select 字段名  from 表名 where 條件 order by 字段 [asc,desc];
#############################################################
asc :正向排序
desc :反向排序
######################默認(rèn)是正向排序##########################
#示例1:按學(xué)生的年齡正向排序顯示年齡和姓名字段
 select age,name from students order by age;
 
#示例2:按學(xué)生的年齡反向排序顯示年齡和姓名字段
select age,name from students order by age desc;
 
#示例3:顯示name、age和classid字段的數(shù)據(jù) 并且只顯示classid字段為3 的 并且以age字段排序
select age,name,classid from students where classid=3 order by age;

3.SQL函數(shù)

(1)數(shù)學(xué)函數(shù)

表2 數(shù)學(xué)函數(shù)

函數(shù) 含義
abs(x) 返回x 的 絕對(duì)值
rand() 返回0到1的隨機(jī)數(shù)
mod(x,y) 返回x除以y以后的余數(shù)
abs(x) 返回x 的 絕對(duì)值
rand() 返回0到1的隨機(jī)數(shù)
mod(x,y) 返回x除以y以后的余數(shù)
abs(x) 返回x 的 絕對(duì)值
rand() 返回0到1的隨機(jī)數(shù)
mod(x,y) 返回x除以y以后的余數(shù)
abs(x) 返回x 的 絕對(duì)值
rand() 返回0到1的隨機(jī)數(shù)
mod(x,y) 返回x除以y以后的余數(shù)
#示例1:返回-2的絕對(duì)值
select abs(-2);

#示例2:隨機(jī)生成一個(gè)數(shù)
select rand (1);

#示例3:隨機(jī)生成排序
select * from students order by rand();

#示例4:返回7除以2以后的余數(shù)
select mod(7,2);

#示例5:返回2的3次方
select power(2,3);

#示例6:返回離2.6最近的數(shù)
select round(2.6);
 
#返回離2.4最近的數(shù)
select round(2.4);

#示例7:保留2.335321的3位小數(shù)四舍五入后的值
select round(2.335321,2);

#示例8:返回?cái)?shù)字 2.335321 截?cái)酁?位小數(shù)的值
select truncate(2.335321,2);

#示例9:返回大于或等于2.335321 的最小整數(shù)
select ceil(2.335321);

#示例10:返回小于或等于 2.335321 的最大整數(shù)
 select floor(2.335321);

#示例11:返回集合中最大的值
 select greatest(1,4,3,9,20);

#示例12:返回集合中最小的值
select least(1,4,3,9,20);

(2)聚合函數(shù)

表3 聚合函數(shù)

函數(shù) 含義
avg() 返回指定列的平均值
count() 返回指定列中非 NULL 值的個(gè)數(shù)
min() 返回指定列的最小值
avg() 返回指定列的平均值
count() 返回指定列中非 NULL 值的個(gè)數(shù)
min() 返回指定列的最小值
#示例1:求表中年齡的平均值
select avg(age) from students;

#示例2:求表中年齡的總和
select sum(age) from students;

#示例3:求表中年齡的最大值
 select max(age) from students;

#示例4:求表中年齡的最小值
select min(age) from students;

#示例5:求表中有多少班級(jí)字段非空記錄
select count(classid) from students;
 
count(明確字段):不會(huì)忽略空記錄

#示例6:求表中有多少條記錄
 select count(*) from students;
 
 count(*)包含空字段,會(huì)忽略空記錄

#示例7:看空格字段是否會(huì)被匹配
insert into students values(26,' ',28,'f',1,8);

(3)字符串函數(shù)

表4 字符串函數(shù)

函數(shù) 描述
trim() 返回去除指定格式的值
concat(x,y) 將提供的參數(shù) x 和 y 拼接成一個(gè)字符串
substr(x,y) 獲取從字符串 x 中的第 y 個(gè)位置開始的字符串,跟substring()函數(shù)作用相同
substr(x,y,z) 獲取從字符串 x 中的第 y 個(gè)位置開始長(zhǎng)度為z 的字符串
length(x) 返回字符串 x 的長(zhǎng)度
replace(x,y,z) 將字符串 z 替代字符串 x 中的字符串 y
upper(x) 將字符串 x 的所有字母變成大寫字母
lower(x) 將字符串 x 的所有字母變成小寫字母
left(x,y) 返回字符串 x 的前 y 個(gè)字符
right(x,y) 返回字符串 x 的后 y 個(gè)字符
repeat(x,y) 將字符串 x 重復(fù) y 次
space(x) 返回 x 個(gè)空格
strcmp(x,y) 比較 x 和 y,返回的值可以為-1,0,1
reverse(x) 將字符串 x 反轉(zhuǎn)

(1)?trim返回去除指定格式的值

語(yǔ)法:select trim (位置 要移除的字符串 from 字符串)
 
其中位置的值可以是 
leading(開始) 
trailing(結(jié)尾)
both(起頭及結(jié)尾)
 
#區(qū)分大小寫
要移除的字符串:從字符串的起頭、結(jié)尾或起頭及結(jié)尾移除的字符串,缺省時(shí)為空格。
#示例:從名字開頭的開始,移除Sun Dasheng中的Sun顯示
select trim(leading 'Sun' from 'Sun Dasheng');

(2)?length返回字符串的長(zhǎng)度

#語(yǔ)法:select length(字段) from 表名;
 
#示例:計(jì)算出字段中記錄的字符長(zhǎng)度
 select name,length(name) from students;

(3)replace替代

#語(yǔ)法:select replace(字段,'原字符''替換字符') from 表名;
 
#示例:查看名字里包含ua的記錄
select name from students where name like '%ua%';
#將ua替換成hh顯示出來(lái)
select replace(name,'ua','hh') from students;

(4)concat將提供的參數(shù)拼接成一個(gè)字符串

#語(yǔ)法:select concat(字段1,字段2)from 表名
 
#示例:將name,classid字段拼接成一個(gè)字符串
select concat(name,classid) from students;

(5)?substr:根據(jù)要求截取長(zhǎng)度查看

#語(yǔ)法:select substr(字段,開始截取字符,截取的長(zhǎng)度)  where 字段='截取的字符串' 
 
#示例1:截取第6個(gè)字符往后
select substr(name,6) from students where name='Yue Lingshan';
 
#示例2:截取第6個(gè)字符往后的兩個(gè)字符
select substr(name,6,2) from students where name='Yue Lingshan';

4.SQL高級(jí)操作

(1)group by查詢結(jié)果進(jìn)行匯總分組

對(duì)group by 后面的字段的查詢結(jié)果進(jìn)行匯總分組,通常是結(jié)合聚合函數(shù)一起使用的;

group by 有一個(gè)原則,就是select 后面的所有列中,沒(méi)有使用聚合函數(shù)的列必須出現(xiàn)在 group by 的后面。

#語(yǔ)法:select 字段1,sum(字段2) from 表名 group by 字段1;
 
#示例1:求各個(gè)班的年齡總和
 select classid,sum(age) from students group by classid;
 
#示例2:求各個(gè)班的平均年齡
select classid,avg(age) from students group by classid;
 
#示例3:根據(jù)年齡查看每個(gè)班的人數(shù)
select classid,count(age) from students group by classid;

(2)having過(guò)濾返回的記錄集

having:用來(lái)過(guò)濾由group by語(yǔ)句返回的記錄集,通常與group by語(yǔ)句聯(lián)合使用;

having語(yǔ)句的存在彌補(bǔ)了where關(guān)鍵字不能與聚合函數(shù)聯(lián)合使用的不足。如果被SELECT的只有函數(shù)欄,那就不需要GROUP BY子句;

要根據(jù)新表中的字段,來(lái)指定條件。

#語(yǔ)法:
select 字段1,SUM("字段")from 表格名 group by 字段1 having(函數(shù)條件);
 
#示例:查看各個(gè)班的平均年齡在30以上的班級(jí)
select classid,avg(age) from students group by classid having avg(age) > 30;

(3)as別名

欄位別名 表格別名。

#語(yǔ)法:
SELECT "表格別名"."欄位1" [AS] "欄位別名" FROM "表格名" [AS] "表格別名";
 
#示例:設(shè)置表名別名為f,基于班級(jí)號(hào)來(lái)統(tǒng)計(jì)各班年齡總和,sum(age)定義別名為total age
select f.classid,sum(age) 'total age' from students as f group by f.classid;

(4)連接查詢

準(zhǔn)備兩個(gè)表,此處兩個(gè)表分別為students和scores

①?inner join(等值相連):只返回兩個(gè)表中聯(lián)結(jié)字段相等的行

SELECT * FROM students A INNER JOIN scores B on A.stuid = B.stuid;

②?left join(左聯(lián)接):返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄

select * from scores A left join students B on A.stuid = B.stuid;

③?right join(右聯(lián)接):返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄

select * from scores A right join students B on A.stuid = B.stuid;

(5)子查詢

連接表格,在WHERE 子句或HAVING 子句中插入另一個(gè)SQL語(yǔ)句

語(yǔ)法:SELECT "欄位1" FROM "表格1" WHERE "欄位2"	[比較運(yùn)算符]	     
	 	
#外查詢
(SELECT "欄位1" FROM "表格1" WHERE "條件");	
 
#示例:查詢學(xué)生學(xué)號(hào)為1的得分總和
select sum(score) from scores where stuid in (select stuid from students where stuid=1);

5.MySQL中6種常見的約束

(1)約束

表5 常見約束

序號(hào) 約束類型
1 主鍵約束(primary key)
2 外鍵約束(foreign key)
3 非空約束(not null)
4 唯一性約束(unique [key|index])
5 默認(rèn)值約束(default)
6 自增約束(auto_increment)


(2)外鍵
外鍵的定義:如果同一個(gè)屬性字段x在表一中是主鍵,而在表二中不是主鍵,
則字段x稱為表二的外鍵。

表6 主鍵表和外鍵表

類別 描述 備注
主鍵表 以公共關(guān)鍵字作主鍵的表為主鍵表(父表、主表) 與外鍵關(guān)聯(lián)的主表的字段必須設(shè)置為主鍵。要求從表不能是臨時(shí)表,
主表外鍵字段和從表的字段具備相同的數(shù)據(jù)類型、字符長(zhǎng)度和約束。
外鍵表 以公共關(guān)鍵字作外鍵的表為外鍵表(從表、外表)

二、實(shí)驗(yàn)

?1.克隆表與清空表

(1)克隆版

①先創(chuàng)建再導(dǎo)入

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

②創(chuàng)建的時(shí)候同時(shí)導(dǎo)入

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(2)清空表

①?delete刪除(自增長(zhǎng))

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?②?truncate刪除(重新記錄)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?③?創(chuàng)建臨時(shí)表(退出數(shù)據(jù)庫(kù)自動(dòng)銷毀)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

2.SQL高級(jí)語(yǔ)句

(1)select:顯示表格中的一個(gè)或者多個(gè)字段中所有的信息

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示所有數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示數(shù)據(jù)表students的名字與年齡字段

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(2)distinct:查詢不重復(fù)記錄

去除年齡字段中重復(fù)的數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

查找性別

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(3)where根據(jù)條件查詢

顯示name和age 字段 并且要找到age小于20

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(4)?and且、or或 根據(jù)多個(gè)條件查詢

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(5)?in顯示已知值的資料

顯示學(xué)號(hào)為1,2,3,4的學(xué)生記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示班級(jí)為1和3的學(xué)生記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(6)between顯示兩個(gè)值范圍內(nèi)的資料

顯示學(xué)生姓名在Ding Dian和Hua Rong中的學(xué)生記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示學(xué)生號(hào)碼id在2-5 的信息

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示學(xué)生年齡在20-35之間的信息,不需要表中一定有該字段,只會(huì)將20到25 已有的都顯示出來(lái)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(7)like+通配符 模糊查詢

查找名字以l開頭的學(xué)生記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql查找名字包含ang的學(xué)生記錄

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?查找名字第二個(gè)字母為i,第三個(gè)字母為a的學(xué)生記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(8)order by:按關(guān)鍵字排序

按學(xué)生的年齡正向排序顯示年齡和姓名字段

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?按學(xué)生的年齡反向排序顯示年齡和姓名字段

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?顯示name、age和classid字段的數(shù)據(jù) 并且只顯示classid字段為1 的 并且以age字段排序

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

3.SQL函數(shù)

數(shù)學(xué)函數(shù)

(1)返回-2的絕對(duì)值

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(2)?隨機(jī)生成一個(gè)數(shù)

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(3)隨機(jī)生成排序

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(4)返回7除以2以后的余數(shù)

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(5)返回2的3次方

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(6)返回離2.6最近的數(shù)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(7)返回離2.4最近的數(shù)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(8)保留2.335321的3位小數(shù)四舍五入后的值

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(9)返回?cái)?shù)字 2.335321 截?cái)酁?位小數(shù)的值

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(10)返回大于或等于2.335321 的最小整數(shù)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(11)返回小于或等于 2.335321 的最大整數(shù)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(12)返回集合中最大的值

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(13)返回集合中最小的值

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

聚合函數(shù)

(14)求表中年齡的平均值

?

?(15)求表中年齡的總和

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(16)求表中年齡的最大值

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(17)求表中年齡的最小值

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(18)求表中有多少班級(jí)字段非空記錄

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(19)求表中有多少條記錄

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(20)看空格字段是否會(huì)被匹配

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

字符串函數(shù)

?(21)從名字開頭的開始,移除Sun Dasheng中的Sun顯示數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(22)計(jì)算出字段中記錄的字符長(zhǎng)度

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(23)查看名字里包含an的記錄

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(24)將an替換成hh顯示出來(lái)

?

(25)將name,classid字段拼接成一個(gè)字符串

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(26)截取第3個(gè)字符往后

?數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(27)截取第2個(gè)字符往后的兩個(gè)字符

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

4.SQL高級(jí)操作

(1)group by查詢結(jié)果進(jìn)行匯總分組

求各個(gè)班的年齡總和

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?求各個(gè)班的平均年齡

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?根據(jù)年齡查看每個(gè)班的人數(shù)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(2)having過(guò)濾返回的記錄集

查看各個(gè)班的平均年齡在22以上的班級(jí)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(3)as別名

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(4)連接查詢

創(chuàng)建scores表

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?inner join(等值相連)只返回兩個(gè)表中聯(lián)結(jié)字段相等的行

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?left join(左聯(lián)接)返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?right join(右聯(lián)接)返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(5)子查詢

查詢學(xué)生學(xué)號(hào)為1的得分總和

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

5.主鍵表和外鍵表

(1)創(chuàng)建主表和從表

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

(2)為主表master添加一個(gè)主鍵約束

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(3)為從表slave表添加外鍵

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(4)使用查詢表語(yǔ)句結(jié)構(gòu)命令查看外鍵關(guān)聯(lián)

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(5)插入新的數(shù)據(jù)記錄時(shí),要先主表再?gòu)谋?/p>

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?(6)刪數(shù)數(shù)據(jù)記錄時(shí),要先從表再主表,也就是說(shuō)刪除主鍵表時(shí)必須先刪除其他與之關(guān)聯(lián)的表。

drop tables slave;
drop tables master;

(7)要?jiǎng)h除外鍵約束字段先刪除外鍵約束,再刪除外鍵名

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作,數(shù)據(jù)庫(kù),mysql,sql

?三、總結(jié)

克隆表將數(shù)據(jù)表的數(shù)據(jù)記錄生成到新的表中.

清空表刪除表內(nèi)的所有數(shù)據(jù)。

group by查詢結(jié)果進(jìn)行匯總分組,having用來(lái)過(guò)濾由group by語(yǔ)句返回的記錄集,通常與group by語(yǔ)句聯(lián)合使用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-547392.html

到了這里,關(guān)于數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL 數(shù)據(jù)庫(kù)實(shí)用指南:測(cè)試數(shù)據(jù)準(zhǔn)備、SQL語(yǔ)句規(guī)范與基本操作

    MySQL 數(shù)據(jù)庫(kù)實(shí)用指南:測(cè)試數(shù)據(jù)準(zhǔn)備、SQL語(yǔ)句規(guī)范與基本操作

    歡迎來(lái)到小K的MySQL專欄,本節(jié)將為大家準(zhǔn)備MySQL測(cè)試數(shù)據(jù)、以及帶來(lái)SQL語(yǔ)句規(guī)范、數(shù)據(jù)庫(kù)的基本操作的詳細(xì)講解 要學(xué)習(xí)SQL查詢語(yǔ)句,首先必須解決一個(gè)問(wèn)題,數(shù)據(jù)問(wèn)題。為了方便大家學(xué)習(xí)閱讀我的文章,在這里提供了一個(gè)test.sql文件 ? 登錄MySQL,輸入 source xxx/test.sql 導(dǎo)入sql文

    2024年02月08日
    瀏覽(33)
  • 基于Linux操作系統(tǒng)中的MySQL數(shù)據(jù)庫(kù)SQL語(yǔ)句(三十一)

    基于Linux操作系統(tǒng)中的MySQL數(shù)據(jù)庫(kù)SQL語(yǔ)句(三十一)

    MySQL數(shù)據(jù)庫(kù)SQL語(yǔ)句 目錄 一、SQL語(yǔ)句類型 1、DDL 2、DML 3、DCL 4、DQL 二、數(shù)據(jù)庫(kù)操作 1、查看 2、創(chuàng)建 2.1、默認(rèn)字符集 2.2、指定字符集 3、進(jìn)入 ?4、刪除 5、更改 6、練習(xí) 三、數(shù)據(jù)表操作 (一)數(shù)據(jù)類型 1、數(shù)值類型 1.1、TINYINT 1.2、SMALLINT 1.3、INT 1.4、BIGINT 1.5、FLOAT(M,D) 2、時(shí)間

    2024年02月15日
    瀏覽(25)
  • MySQL數(shù)據(jù)庫(kù)高級(jí)查詢語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)高級(jí)查詢語(yǔ)句

    基于這兩個(gè)數(shù)據(jù)庫(kù)表格來(lái)實(shí)現(xiàn)以下實(shí)驗(yàn) concat(x,y)將提供的參數(shù)x和y拼接成一個(gè)字符串 trim()返回去除指定格式的值 GROUP BY 有一個(gè)原則,凡是在 GROUP BY 后面出現(xiàn)的字段,必須在 SELECT 后面出現(xiàn); 凡是在 SELECT 后面出現(xiàn)的、且未在聚合函數(shù)中出現(xiàn)的字段,必須出現(xiàn)在 GROUP BY 后

    2024年02月11日
    瀏覽(97)
  • MySQL數(shù)據(jù)庫(kù)——高級(jí)查詢語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)——高級(jí)查詢語(yǔ)句

    數(shù)據(jù)庫(kù)是用來(lái)存儲(chǔ)數(shù)據(jù),更新,查詢數(shù)據(jù)的工具,而查詢數(shù)據(jù)是一個(gè)數(shù)據(jù)庫(kù)最為核心的功能,數(shù)據(jù)庫(kù)是用來(lái)承載信息,而信息是用來(lái)分析和查看的。所以掌握更為精細(xì)化的查詢方式是很有必要的。本文將圍繞數(shù)據(jù)的高級(jí)查詢語(yǔ)句展開。 1.指定指字段進(jìn)行查詢——SELECT 語(yǔ)法:

    2024年02月11日
    瀏覽(106)
  • MySQL數(shù)據(jù)庫(kù)管理高級(jí)語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)管理高級(jí)語(yǔ)句

    復(fù)制表及內(nèi)容 ? ??克隆表 獲取數(shù)據(jù)表的表結(jié)構(gòu)、索引等信息 ? ?清空表,刪除表內(nèi)的所有數(shù)據(jù) ? ? ? 刪除的特點(diǎn): 創(chuàng)建臨時(shí)表 臨時(shí)表創(chuàng)建成功之后,使用SHOWTABLES命令是看不到創(chuàng)建的臨時(shí)表的, 臨時(shí)表會(huì)在連接退出后被銷毀。 如果在退出連接之前,也可以可執(zhí)行增刪改查

    2024年02月11日
    瀏覽(101)
  • 數(shù)據(jù)庫(kù) SQL高級(jí)查詢語(yǔ)句:聚合查詢,多表查詢,連接查詢

    數(shù)據(jù)庫(kù) SQL高級(jí)查詢語(yǔ)句:聚合查詢,多表查詢,連接查詢

    創(chuàng)建Students和Courses表 直接查詢 設(shè)置別名查詢 設(shè)置條件查詢 使用COUNT(*) 和 COUNT(StudentID)是一樣的效果,因?yàn)镾tudentID是主鍵,每行記錄的主鍵都不同。另外我們?cè)诰酆喜樵冎羞€是能使用WHERE子句的,比如我們要 查找年齡大于20歲的學(xué)生數(shù)量 ,可使用以下SQL語(yǔ)句: 函數(shù) 說(shuō)明 SUM

    2024年02月09日
    瀏覽(104)
  • 用SQL語(yǔ)句操作Oracle數(shù)據(jù)庫(kù)——數(shù)據(jù)更新

    用SQL語(yǔ)句操作Oracle數(shù)據(jù)庫(kù)——數(shù)據(jù)更新

    數(shù)據(jù)庫(kù)中的數(shù)據(jù)更新操作有3種:1)向表中添加若干行數(shù)據(jù)(增);2)刪除表中的若干行數(shù)據(jù)(刪);3)修改表中的數(shù)據(jù)(改)。對(duì)于這3種操作,SQL語(yǔ)言中有3種相應(yīng)的語(yǔ)句與之對(duì)應(yīng)。接下來(lái)讓我們逐一詳細(xì)地了解一下。 本文我們依然使用以下三個(gè)表來(lái)進(jìn)行數(shù)據(jù)更新操作:

    2024年01月19日
    瀏覽(34)
  • 【MySQL】數(shù)據(jù)庫(kù)SQL語(yǔ)句之DML

    【MySQL】數(shù)據(jù)庫(kù)SQL語(yǔ)句之DML

    目錄 前言: 一.DML添加數(shù)據(jù) 1.1給指定字段添加數(shù)據(jù) 1.2給全部字段添加數(shù)據(jù) 1.3批量添加數(shù)據(jù) 二.DML修改數(shù)據(jù) 三.DML刪除數(shù)據(jù) 四.結(jié)尾 ? 時(shí)隔一周,啊蘇今天來(lái)更新啦,簡(jiǎn)單說(shuō)說(shuō)這周在做些什么吧,上課、看書、放松等,哈哈哈,所以博客就這樣被擱了。 ? 今天感覺不錯(cuò),給大

    2024年02月08日
    瀏覽(95)
  • MySQL相關(guān)的SQL語(yǔ)句、數(shù)據(jù)庫(kù)、數(shù)據(jù)表、字段、類型

    1、 SQL 語(yǔ)句不區(qū)分大小寫。 SQL語(yǔ)句 用途 描述 mysql -u root -p 連接 MySQL 在命令行窗口中輸入 mysql -u root -p 命令,回車,然后輸入 MySQL 密碼(不要忘記了密碼,找回麻煩),再回車就連接上 MySQL 了。最初都是使用 root 用戶登錄,工作中不能一直使用 root 用戶登錄。因?yàn)?root 權(quán)限太

    2024年02月13日
    瀏覽(115)
  • MySQL數(shù)據(jù)庫(kù)中的索引(含SQL語(yǔ)句)

    MySQL數(shù)據(jù)庫(kù)中的索引(含SQL語(yǔ)句)

    假設(shè)有一張表,表中有100萬(wàn)條數(shù)據(jù),這100萬(wàn)條數(shù)據(jù)在硬盤上是存儲(chǔ)在數(shù)據(jù)頁(yè)上的,一頁(yè)數(shù)據(jù)大小為16k。存儲(chǔ)100萬(wàn)條數(shù)據(jù)那么就需要數(shù)據(jù)頁(yè),假設(shè)其中有一條數(shù)據(jù)是“id為7900”的,那么如果要查詢這條數(shù)據(jù),其中SQL是SELECT * FROM 表名 WHERE id = 7900。在執(zhí)行這條SQL語(yǔ)句的時(shí)候,MyS

    2024年02月02日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包