Sql語句

1.顯示所有數(shù)據(jù)庫
?show databases;//展示所有數(shù)據(jù)庫
2监右,創(chuàng)建數(shù)據(jù)管理系統(tǒng)
?create database 數(shù)據(jù)庫名字撬码;
3,刪除數(shù)據(jù)庫
?drop database 數(shù)據(jù)庫名字;
4熟吏,使用數(shù)據(jù)庫
?use 數(shù)據(jù)庫名字;-->database changed;
5,創(chuàng)建數(shù)據(jù)表
?creat table 表名(字段名 字段類型(約束),字段名2 字段類型(約束),)涡真;
??字段類型有:int(Integer) 整數(shù)型分俯;
?????float/double 單精度/雙精度浮點(diǎn)型
?????date 日期類型
?????datetime 日期時(shí)間類型
?????char 定長字符串
?????varchar 可變長度字符串
?????text 大文本對象,可用于存儲超長字符串
?????bold 二進(jìn)制大對象哆料,可用于存儲圖片等二進(jìn)制數(shù)據(jù)
6缸剪,查看創(chuàng)建的數(shù)據(jù)表
?show tables;//僅僅是表名的展示;
7东亦,查看表的結(jié)構(gòu)
?desc 表名//desc student;
8,修改數(shù)據(jù)表名稱
?alter table 表名 rename 新表名杏节;//alter table student rename stu;
9,刪除數(shù)據(jù)表
?drop table 表名唬渗;//delete table stu;
10,添加表字段
?alter table 表名 add column 字段名 字段類型;//alter table student add column phone varchar(20);
?添加帶默認(rèn)值的字段名
?alter table student add column sex varchar() default'男';
11,修改表字段類型
?alter table 表名 modify 字段名 修改的類型奋渔;//alter table student modify sex varchar(10);
12,刪除表字段
?alter table 表名 drop 字段名//alter table student drop phone;
13,約束 NOT NULL:非空約束;
??UNIQUE:唯一約束;
??PRIMARY KEY:主鍵镊逝,唯一標(biāo)識該記錄,非空且唯一;
??FOREIGN KEY:外鍵嫉鲸,指定該記錄從屬的主表記錄;
???添加非空約束和主鍵撑蒜;
????主鍵添加:alter table student add column id int primary key;
14,創(chuàng)建表數(shù)據(jù)時(shí)設(shè)置主鍵自增 ,以及名字非空玄渗;
?create table student(
?id int primary key auto_increment,
?name varchar(20) not null,
?age int,
?birthday date,
?xuefen float(3,1),//3代表一共有三位座菠,1代表小數(shù)點(diǎn)后的位數(shù).
?);
15,索引:索引的作用類似于書的目錄,一個(gè)表可以有多個(gè)索引藤树,每個(gè)索引都可用于加速該列的查詢速度
?創(chuàng)建索引 creat index 索引名稱 on 表名(字段名);
????create index nameindex on student(name);//創(chuàng)建指向student name
?刪除索引 drop index 索引名稱 on 表名浴滴;
????create index nameindex on student;
?劣勢:當(dāng)數(shù)據(jù)進(jìn)行修改時(shí),索引也需要進(jìn)行更新岁钓,較為麻煩升略,同時(shí)索引信息需要一定的磁盤空間。
16,中文亂碼需要鍵入 set names gbk;//解決名字亂碼問題屡限;
17,插入數(shù)據(jù) insert into 表名(字段名1品嚣,字段名2)?values(數(shù)據(jù)1,數(shù)據(jù)2);
?不帶自定義id的插入學(xué)生信息:
??insert into student(name,age,birthday,xuefen) values('科比',39,'1978-8-30',1.8);
?展示輸入的學(xué)生所有信息:
??select * from student;
?展示表名中的部分學(xué)生信息:
??select age,xuefen from student;
?自帶id的插入學(xué)生信息:
??select into student(id,name,age,birthday,xuefen) values(5,'杜蘭特',29,'1988-9-29',1.9);
?若此時(shí)再進(jìn)行不帶自定義id的形式插入學(xué)生信息囚霸,則會從自帶id的后面進(jìn)行自增長?
??insert into student(name,age,brithdaty,xuefen) values('艾弗森',42,'1975-6-7',3.0);
?若輸入的順序和展示出來表的字段的順序相同腰根,可省略字段部分;
??insert into student values(2,'湯普森','27','1990-2-8','3.5');
18,修改數(shù)據(jù)?update 表名 set 字段1=值1拓型,字段2=值2额嘿,where條件,
??沒有添加where條件的會修改全部記錄劣挫,
???uodate student set sex=男册养;
??添加where 一般指定id;
???update student set xuefen=3.0 where id=4;
19,刪除數(shù)據(jù) delete from 表名 where 條件;//以行為單位進(jìn)行整行刪除
????delete from student where id=7;
20,查詢數(shù)據(jù){單表查詢压固,聯(lián)合查詢}球拦;
?單表查詢:單條件查詢,去重查詢帐我,查詢條件中的運(yùn)算符坎炼,函數(shù)查詢,分組查詢拦键,分頁查詢谣光,結(jié)果排序
???20.1 單條件查詢:select * from 表名;(全部元素都會顯示出來);
??????? select * from student;
?????展示特殊字段 select 字段1芬为,字段2 from 表名
???????? select name,age from student;
???查詢特殊條件的 select * from 表名 where 條件萄金;
???????select * from student where age>30;
???查詢多個(gè)特殊條件的蟀悦;條件1 and 條件2;//與
????????條件2 or 條件2氧敢;//或
???20.2 去重查詢:可以使用distinct關(guān)鍵字從查詢結(jié)果中消除重復(fù)數(shù)據(jù)日戈;
???? select distinct 字段1,字段2 from 表名;
?????select distinct name,xuefen from student;name和學(xué)分都重復(fù)才會去除孙乖;
???20.3 查詢條件中的運(yùn)算符浙炼;比較運(yùn)算符=,!=,<> ,>,>=,<,<=;
?????????? 邏輯運(yùn)算符 and:與 or 或 not:非 優(yōu)先級 not>and>or
??????優(yōu)先級的檢測唯袄;
??????select * from student where 1<>1 and 1=1 or 1=1 or 1=1;
??????select * from student where 1=1 or 1=1 or 1=1 and 1<>1;
?????使用between and
??????between 16 and 20 ;//可以取到16 和20鼓拧,這兩個(gè)邊界值。
?????使用in運(yùn)算符
??????select * from student where age in(10,30,40,29);
??????跟表中的年齡進(jìn)行比對越妈,看有沒有能夠匹配相等的,有钮糖,則顯示
?????使用like運(yùn)算符
??????模糊運(yùn)算符梅掠,像
??????select * from student where name like '%張';
??????'%'代表無限個(gè)字符? '%張'是指以張結(jié)尾的名字
??????'%張%'中間有張字的名字 '張%'是指以張開頭的名字
??????'__張'以'張'字結(jié)尾的三個(gè)字的名字,'_'代表一個(gè)字符店归;
?????使用is null運(yùn)算符
???20.4 函數(shù)查詢
?????max:求最大值,min:求最小值,avg:求平均值,sum:求和,count:求數(shù)量
?????case 函數(shù)阎抒,類似于switch;
??????select max(age) from student;//選擇最大年齡消痛;
??????最大年齡對應(yīng)的名字
??????select age,max(age) from student;
??????//展示max(age)對應(yīng)的所有信息且叁;
??????//select max(age) from student-->返回的是一個(gè)最大年齡的表單
??????select * from student where age=(select max(age) from student);
?????count的應(yīng)用:
??????select count(1) from student;
?????case:的應(yīng)用
??????select * ,case
??????where age>30 then '老年人'
??????where age<30 then '中年人’
??????end
??????from student;
?????實(shí)例1:查詢所有大于平均年齡的學(xué)生記錄
?????//平均年齡 select avg(age) from student;
?????//select * from student when age>(select avg(age) from student);
???20.5 分組查詢
?????group by 分組字段;
??????//案例:平均年齡按照男女性別分組
??????select avg(age) from student gronp by sex;
??????//顯示男女性別秩伞,同時(shí)平均年齡按照男女性別分組
??????select age,avg(age) from student group by sex;
?????having 分組條件
??????//案例逞带,顯示男女性別,同時(shí)平均年齡按照男女性別分組但是大于平均年齡的要小于3個(gè)
??????select sex avg(age) from student group by sex having count<3;
?????where 和having 的區(qū)別
?????where用于過濾行纱新,having 用于過濾組展氓,where 子句中不能使用組函數(shù),
????? having子句中可以使用組函數(shù)
20.6 分頁查詢 limit x,y;x代表下標(biāo)脸爱,y代表個(gè)數(shù)
?????select * from student limit 0,2;起始下標(biāo)為0的位置顯示兩天信息遇汞;
20.7 排序查詢 order by 字段//默認(rèn)是升序
?????select * from student order by age (asc);//默認(rèn)按年齡升序排列
?????select * from studnet order by age desc;//按年齡降序排列;
????? 案例1:先按年齡升序排序簿废,再取出年齡最大的兩個(gè)
???????select * from student by age asc limit 0,2;
????? 案例2:先按年齡升序排序空入,如果年齡相同再按學(xué)分降序排序
???????select * from student by age ase,xuefen desc;
??##分組的順序優(yōu)先級:
??select * from student group by () having where order by limit;
21 關(guān)聯(lián)查詢
??21.1 連接查詢
???? 交叉連接族檬,使用on子句的連接歪赢,左連接,右連接导梆;
????? 21.1.1 交叉連接
????? select * from student cross join class;
????? 添加別名進(jìn)行交叉連接選擇
????? //用于挑選一個(gè)學(xué)生選擇一門課程時(shí)的展示數(shù)據(jù)
????? select * from student s cross join class c where s.kid=c.id;
????? //挑選所有選了某個(gè)課程的學(xué)生
????? select s.* from studnet s cross join class c where s.kid=c.id and c.classname="crossover";
????? 21.1.2 on連接
???????? select * from student s join class c on;
????? 21.1.3 左連接
??????? select * from student s left join class c on s.kid=c.id;
???21.1.4 右連接
???? select * from student s right join class c on s.kid=c.id;
??21.2 子查詢
????? 1.出現(xiàn)在from語句后當(dāng)成數(shù)據(jù)表轨淌,
???2.出現(xiàn)在where條件后作為過濾條件的值,
???? //案例查詢所有選擇某門課程中學(xué)生年齡最大的迂烁;
???? //所有選擇某門課程的學(xué)生
???? select * from student s join class c on s.kid=c.kid and classname="";
???? //篩選年齡最大的
???? 先進(jìn)行排序再進(jìn)行分頁
????? select * from( select * from student s join class c on s.kid=c.kid and classname="") t
????? order by t.age desc limit 0,1;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市递鹉,隨后出現(xiàn)的幾起案子盟步,更是在濱河造成了極大的恐慌,老刑警劉巖躏结,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件却盘,死亡現(xiàn)場離奇詭異,居然都是意外死亡媳拴,警方通過查閱死者的電腦和手機(jī)黄橘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屈溉,“玉大人塞关,你說我怎么就攤上這事∽咏恚” “怎么了帆赢?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長线梗。 經(jīng)常有香客問我椰于,道長,這世上最難降的妖魔是什么仪搔? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任瘾婿,我火速辦了婚禮,結(jié)果婚禮上烤咧,老公的妹妹穿的比我還像新娘偏陪。我一直安慰自己,他們只是感情好髓削,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布竹挡。 她就那樣靜靜地躺著,像睡著了一般立膛。 火紅的嫁衣襯著肌膚如雪揪罕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天宝泵,我揣著相機(jī)與錄音好啰,去河邊找鬼。 笑死儿奶,一個(gè)胖子當(dāng)著我的面吹牛框往,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闯捎,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼椰弊,長吁一口氣:“原來是場噩夢啊……” “哼许溅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秉版,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤贤重,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后清焕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體并蝗,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年秸妥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滚停。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粥惧,死狀恐怖键畴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情突雪,我是刑警寧澤镰吵,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站挂签,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盼产。R本人自食惡果不足惜饵婆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戏售。 院中可真熱鬧侨核,春花似錦、人聲如沸灌灾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锋喜。三九已至些己,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嘿般,已是汗流浹背段标。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炉奴,地道東北人逼庞。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像瞻赶,于是被迫代替她去往敵國和親赛糟。 傳聞我的和親對象是個(gè)殘疾皇子派任,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容