單表查詢
where
1. 比較操作符,">" "<" "=" ">=" "<=" "!="
select * from student where id != 1;
2. BETWEEN ,操作符 BETWEEN ... AND 會選取介於兩個值之間的數據范圍。這些值可以是數值、日期。
select * from student where id between4 and 6;
3. like,模糊搜索,"%"匹配0個或者多個字符,"_"匹配一個字符
select * from student where name like '%周%';
4. and和or,可以寫成&&和||,可以通過括號調整優先級
select * from student where name='張三' and sex='男';
5. in和not in
select * from student where id in (2,3,4,5);
6. 排序,order by [asc | desc],不寫默認是asc
select * from student [條件] order by id asc;
select * from student [條件] order by id asc,age desc;
7. is null
select * from student where name is null;
8. 分組 group by
select * from student group by type;
9. having
select * from goods group by type having price > 50;
10. limit分頁,從第3行開始往后面查4行數據
select * from student where id limit 3,4;
11. distinct去掉重復字段
select distinct type from goods;
聚集函數
查詢數據的總和 select sum(age) from student; 查詢最大值 select max(age) from student; 查詢最小值 select min(age) from student; 平均年齡 select avg(age) from student; 統計查詢數量 select count(*) from student;
復制表
復制表結構
CREATE TABLE 新表 LIKE 舊表;
復制表結構以及數據
CREATE TABLE 新表 SELECT * FROM 舊表 [條件];
賦值表結構數據
INSERT INTO 表1(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 表2;
作業
#學生表 drop table If EXISTS student; create table IF NOT EXISTS student( s_id int primary key, c_id int, s_name varchar(20), s_sex varchar(20), s_age int, s_addr varchar(20), s_money int ); insert into student values (11,16,"李貴貴","男",22,"廣西省",20); insert into student values (12,17,"張三貴","女",22,"廣東省",50); insert into student values (13,17,"趙六貴","男",18,"廣東省",200); insert into student values (14,18,"李貴","男",25,"廣西省",30); insert into student values (15,17,"劉有貴","女",18,"廣東省",1); insert into student values (16,16,"趙貴貴","男",20,"廣西省",70); insert into student values (17,19,"王貴貴","男",20,"廣西省",55); insert into student values (18,19,"王雲飛","男",20,"廣西省",500); insert into student values (19,16,"李貴貴","男",21,"廣西省",80); insert into student values (110,16,"李貴貴","男",24,"廣西省",3); insert into student values (111,17,"王雲飛","男",24,"湖南省",54); insert into student values (112,16,"周海華","男",24,"湖南省",14); insert into student values (113,17,"趙小三","男",24,"湖南省",33); insert into student values (114,17,"王雲飛",NULL,28,"廣西省",45); insert into student (s_id,c_id,s_name) values (115,16,"肖明"); 查詢年齡大於20歲的同學 查詢年齡小於等於22歲的同學 查詢年齡不等於20歲的同學 查詢年齡為20歲到22歲之間的所有男同學 查詢16班男同學的所有信息 查詢17班同學的姓名和性別和班級 查詢16班戶籍在廣西省的所有學生信息 查詢姓李的所有學生信息 查詢姓趙的男學生信息 查詢趙?貴的性別 查詢名字中帶貴字的女學生 查詢16班姓李的男同學 查詢湖南或者廣東省的男同學 查詢年齡為20,22,25歲的同學 查詢每個省有多少個人 查詢名字為2個字的同學 查詢地址為廣西的同學信息,姓名進行升序,年齡進行降序排序 查詢該班級的學生主要來自哪些省份 查詢年齡最大的學生 查詢17班年齡最大的學生 查詢17班年齡最小的男學生 查詢16班有多少女生 查詢16班有多少錢 查詢16班每人平均有多少錢 查詢16班有多少錢和平均有多少錢 查詢地址為湖南的男生有多少人 查詢性別未填寫的同學姓名 查詢前10條記錄 查詢從第五行開始后4行的記錄 查詢金額在50到100的男同學
查詢班上名字不相同的學生姓名