CREATE TABLE student3 ( id int, name varchar(20), age int, sex varchar(5), address varchar(100), math int, english int ); INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES
(1,'馬云',55,'男','杭州',66,78),
(2,'馬化騰',45,'女','深圳',98,87),
(3,'馬景濤',55,'男','香港',56,77),
(4,'柳巖',20,'女','湖南',76,65),
(5,'柳青',20,'男','湖南',86,NULL),
(6,'劉德華',57,'男','香港',99,99),
(7,'馬德',22,'女','香港',99,99),
(8,'德瑪西亞',18,'男','南京',56,65);
-- 這是單行注釋 注意--后面加一個(gè)空格再寫(xiě)內容 # 這也是單行#號注釋 一般在cmd上寫(xiě)
/* 多行注釋 */
1. 簡(jiǎn)單查詢(xún): select * from 表名
select * from student3 -- 查詢(xún)student3所以信息 select id from student3 -- 查詢(xún)表中的字段 id select id,name,sex from student3 -- 查詢(xún)student3中的字段id name sex /* *代表查詢(xún)所有,多個(gè)字段查詢(xún),查詢(xún)的字段使用逗號隔開(kāi) */
2.where查詢(xún) where 關(guān)鍵字
where 關(guān)鍵字代表條件根據什么條件來(lái)查詢(xún) */ select * from student3 where id = 1; -- 查詢(xún)id為1的所有字段信息 select * from student3 where name = "馬云" -- 查詢(xún)name等于馬云的信息
3.比較運算符查詢(xún)
select * from student3 where math > 66 -- 查詢(xún)數學(xué)成績(jì)大于66的所有學(xué)生信息 select name from student3 where english = 0 -- 查詢(xún)英語(yǔ)成績(jì)等于null的學(xué)生姓名
4.邏輯運算符查詢(xún)
and(&&) 多個(gè)條件同時(shí)滿(mǎn)足 or(||) 多個(gè)條件其中一個(gè)滿(mǎn)足 not(!)
select name from student3 where math = 56 && english = 77 -- 查詢(xún)數學(xué)為56 且 英語(yǔ)為77的學(xué)生姓名 select * from student3 where sex in('女'); -- 查詢(xún)性別為女的信息 select * from student3 where sex not in('女') -- 查詢(xún)性別不為女的信息
5.between 值1 and 值2 查詢(xún)在值1和值2之間的數據 表示從值1到值2范圍,包頭又包尾
select * from student3 where math between 56 and 99 -- 查詢(xún)數學(xué)分數在56到90之間的學(xué)生信息 select * from student3 where math>=56 and math<=99 -- 等同于 上面
6.like ,模糊查詢(xún)
格式:SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
通配符字符串:
select * from student3 where name like "馬%"; -- 查詢(xún)所有姓馬的信息 select * from student3 where name like "馬_"; -- 查詢(xún)姓馬且名字是兩個(gè)字的信息
7.排序
order by 子句:可以將查詢(xún)出的結果進(jìn)行排序(排序只是顯示方式,不會(huì )影響數據庫中數據的順序)
select * from student3 order by id; -- 根據id升序查詢(xún) select * from student3 order by id desc -- 根據id降序查詢(xún) select * from student3 order by name desc -- 根據姓名降序查詢(xún) 根據首字母 排序
組合排序:
select * from student3 order by math asc,english asc -- 根據數學(xué)成績(jì)培訓,英語(yǔ)成績(jì)排序
8.聚合函數查詢(xún)
五個(gè)聚合函數:
count: 統計指定列記錄數,記錄為NULL的不統計sum: 計算指定列的數值和,如果不是數值類(lèi)型,那么計算結果為0 max: 計算指定列的最大值minselect count(*) 信馬的人數 from student3 where name like "馬%" -- 查詢(xún)有多少個(gè)學(xué)生 select sum(math) 總分數 from student3 -- 求班級總分數 select max(math) 數學(xué)最高分 from student3 -- 數學(xué)最高分 select min(english) 英語(yǔ)最低分 from student3 -- 英語(yǔ)最低分 select avg(math) 數學(xué)平均分 from student3 -- 求數學(xué)平均分
9.limit關(guān)鍵字
limit:
語(yǔ)法:
select * from student3 limit 0,3 -- 查詢(xún)第一條開(kāi)始(包含第一條)后面三條數據 select * from student3 limit 3,3 -- 查詢(xún)從第四條開(kāi)始后面的三條數據
limit應用場(chǎng)景:
-- 每頁(yè)顯示5條 -- 第一頁(yè): LIMIT 0,5; 跳過(guò)0條,顯示5條 -- 第二頁(yè): LIMIT 5,5; 跳過(guò)5條,顯示5條 -- 第三頁(yè): LIMIT 10,5; 跳過(guò)10條,顯示5條 SELECT * FROM student3 LIMIT 0,5; SELECT * FROM student3 LIMIT 5,5; SELECT * FROM student3 LIMIT 10,5;
10.別名查詢(xún) as 關(guān)鍵字 as可以省略
select name as 學(xué)生姓名,age as 學(xué)生年齡 from student3 -- 查詢(xún)學(xué)生姓名和年齡并設置別名
在查詢(xún)時(shí),數據庫查詢(xún)會(huì )展示字段名,我們可以使用別名來(lái)改變它的展示 查詢(xún)時(shí)給列、表指定別名需要使用as 關(guān)鍵字
select name 學(xué)生姓名,age 學(xué)生年齡 from student3 -- 查詢(xún)學(xué)生姓名和年齡并設置別名

對比如下:
select name,age from student3 -- 查詢(xún)學(xué)生姓名和年齡不設置別名、

常規語(yǔ)句:INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);
insert into student3(`name`,age,sex,address,math,english) values ('常將',21,'男','廣東',98,68) -- 插入一條數據
省略語(yǔ)句:INSERT INTO 表名 VALUES (值1, 值2, 值3…);
insert into student3 values (18,'常將',21,'男','廣東',98,68) -- 插入一條數據
插入多條語(yǔ)句::INSERT INTO 表名 VALUES (值1, 值2, 值3…),(值1, 值2, 值3…),(值1, 值2, 值3…),(值1, 值2, 值3…)..... ;
insert into student3 (`name`,age,sex,address,math,english) values ('常將1',21,'男','廣東',98,68), ('常將2',21,'男','廣東',98,68), ('常將3',21,'男','廣東',98,68), ('常將4',21,'男','廣東',98,68), ('常將5',21,'男','廣東',98,68);
注意:
1. insert into student3 values (18,'常將',21,'男','廣東',98,68) -- 插入一條數據
2、 insert into student3(`name`,age,sex,address,math,english) values ('常將',21,'男','廣東',98,68) -- 插入一條數據
區別:第一條,沒(méi)有限制插入的字段,所有默認插入數據庫的全部字段,使用主鍵id也要添加上去,第二條,指定了字段個(gè)數,由于id是主鍵自增所有我就不寫(xiě)了,當然加上去也是可以的。
蠕蟲(chóng)復制 :INSERT INTO 表名1 SELECT * FROM 表名2;
CREATE TABLE student2 LIKE student3; -- 首先創(chuàng )建一個(gè)表結構一樣的表 insert into student2 select * from student3 -- 進(jìn)行復制
注:表1和表2的表結構要一致
語(yǔ)法:UPDATE 表名稱(chēng) SET 列名稱(chēng) = 新值 WHERE 列名稱(chēng) = 某值
update student3 set `name` = '柳依依' where id = 4 -- 將id為4的名字修改為柳依依 update student3 set age = 22 where `name` = '馬云' -- 將名字為馬云的年齡修改為 22
注:修改語(yǔ)句一定要跟一個(gè)where條件
刪除表全部數據: DELETE FROM 表名;
delete from student2 -- 刪除表student2 的數據、
摧毀表:TRUNCATE TABLE 表名;
truncate table student2 -- 摧毀表student2 的數據
根據條件刪除:DELETE FROM 表名 WHERE 字段名=值;
delete from student3 where id = 18 -- 刪除id為18的 學(xué)生數據
delete from student3 where id = 19 || id = 20 -- 刪除id 為 19 和為20 的學(xué)生數據
個(gè)人學(xué)習,內容簡(jiǎn)略
聯(lián)系客服