一:查看/數(shù)據(jù)庫蹲诀、表結(jié)構(gòu)等
1:show databases查看所有數(shù)據(jù)庫
2:use [name]切換使用某個(gè)數(shù)據(jù)庫
3:show tables查看當(dāng)前數(shù)據(jù)庫的所有表
4:desc [name]查看某張表的表結(jié)構(gòu)
二:基礎(chǔ)命令--創(chuàng)建/修改表咏花、列等名稱
1:CRATE TABLE [表名] (列名1類型短蜕,列名2類型);創(chuàng)建一張普通表
?id primary key auto_increment not null ? 創(chuàng)建不為null的自增長的主鍵
2:ALTER TABLE [表名] ADD [列名,類型] 給表增加一列
3:ALTER TABLE[表名] CHANGE [舊列名稱] [新列名稱 新類型] 修改某列的名稱或者是類型
4:ALTER TABLE [舊表名] RENAME [新表名] ?修改表名稱
5:ALTER TABLE [表名] DROP [列名] 刪除列
6:ALTER TABLE[表名] MODIFY [列名] 后面跟具體的類型傻咖,默認(rèn)值,是否為null的修改
? ? 記住名稱卿操,類型 都要帶上
三:基礎(chǔ)命令--INSERT插入
1:INSERT INTO [表名] (列名1,列名2) VALUES (害淤, ,);帶列名字段單條插入
2:INSERT INTO [表名] ?VALUES (窥摄, ,);不帶列名字段單條插入崭放。
3:INSERT INTO [表名] ?VALUES(, 币砂,),(建峭, ,),(道伟, 迹缀,);一次性插入多條
4:如果主鍵是自增長的使碾,INSERT INTO [表名]? VALUES (null蜜徽,, 票摇,)可以用null來表示自增加的那列拘鞋。
四:基礎(chǔ)命令--UPDATE更新
1:UPDATE [表名] SET [需要修改列數(shù)據(jù)]
UPDATE tb SET age=20 WHERE name=’t1’;
把名字是t1的年齡修改成20,注意如果不帶where條件則是修改所有的數(shù)據(jù)哦同樣如果只是想修改某一條數(shù)據(jù)則條件最好帶一個(gè)唯一性的字段矢门,比如修改某個(gè)名字的年齡盆色,名字作為條件,但是名字在數(shù)據(jù)庫可能會有同名的祟剔,這樣修改會導(dǎo)致修改到不想修改的數(shù)據(jù)
2:
五:基礎(chǔ)命令--SELECT查詢,常用查詢條件語法等
1:SELECT * FROM [表名]*號==表名,代表查詢當(dāng)前表的所有字段 即查詢所有數(shù)據(jù)
2:SELECT * FROM [表名] WHERE [條件] where關(guān)鍵字后面帶條件隔躲,查詢當(dāng)前表滿足條件的數(shù)據(jù)
注意:*號也可以換成具體的單個(gè)或者多個(gè)列名字段,就表示查詢當(dāng)前列的數(shù)據(jù)如下
? ? ? SELECT ?[列名] ?FROM [表名] WHERE [條件]
? ? ? SELECT ?[列名1],[列名2] ?FROM [表名] WHERE [條件]
3:WHERE條件后面跟的語法AND/OR的用法物延,
? ? ?AND表示2個(gè)條件都為真結(jié)果為真的數(shù)據(jù)
? ? SELECT * FROM [表名] WHERE name=’1’AND age=2宣旱;(查詢名字和年齡都滿足條件的數(shù)據(jù))
? ? OR表示或者的意思只要有一個(gè)條件為真則結(jié)果為真的數(shù)據(jù)
? ? SELECT * FROM [表名] WHERE name=’1’OR age=2;(查詢只要名字或者年齡任意匹配一個(gè)條件的數(shù)據(jù))
注意:條件表達(dá)式=叛薯,>浑吟,<,>=,<=都可以,但是這種條件5<X<10是不可行的
執(zhí)行順序:AND和OR同時(shí)使用時(shí)如果沒有括號 則AND先執(zhí)行OR后執(zhí)行
4:WHRE條件后面跟的語法LIKE %模糊匹配
? ? ?LIKE‘e%’模糊匹配以e開頭的數(shù)據(jù)
? ? ?LIKE‘%e’模糊匹配以e結(jié)尾的數(shù)據(jù)
? ? ?LIKE‘%e%’模糊匹配任何位置包含e的數(shù)據(jù)
? ? ?LIKE‘%e%k’模糊匹配任何位置包含e但是以K結(jié)尾的數(shù)據(jù)
? ? ?LIKE‘k%e%’模糊匹配任何位置包含e但是以K開頭的數(shù)據(jù)
? ? ?LIKE‘e%%k’模糊匹配以e開頭笙纤,k結(jié)尾的數(shù)據(jù)
5:ORDER BY,DESC ASC對查詢結(jié)果按照指定規(guī)則排序
? ? ?ORDER BY [列名1],[列名2]對查詢結(jié)果按照列名1列名2的規(guī)則排序
? ? ?ORDER BY [列名1] DESC查詢結(jié)果按照列名1降序的方式排列
? ? ?ORDER BY [列名1] ASC查詢結(jié)果按照列名1升序的方式排列
如SELECT * FROM tb WHERE age<40 ORDER BY name DESC
6:LIMIT查詢結(jié)果數(shù)量限制 只獲取指定數(shù)量的結(jié)果 分頁常用
? ? ?LIMIT 1只查詢一行數(shù)據(jù)
? ? ?LIMIT 0不返回任何結(jié)果组力,這個(gè)在測試數(shù)據(jù)庫查詢省容,但是不實(shí)際運(yùn)行查詢是有用的方法
? ? ?LIMIT 2,3第一個(gè)數(shù)字是偏移量 第二個(gè)是返回的行數(shù),記住偏移量是下標(biāo)0開始的哦
? ? ?表示:查詢從第三條數(shù)據(jù)開始(包含第三條)燎字,的后三條數(shù)據(jù) 即3 4 5
六:基礎(chǔ)命令--DELETE刪除
1:DELETE FROME [表名]刪除所有數(shù)據(jù)
2:DELETE FROM [表名] WHERE ...刪除指定條件的數(shù)據(jù)(注意刪除指定的某條數(shù)據(jù)最好使用唯一字段)
3:DROP DATABASES [數(shù)據(jù)庫] 刪除數(shù)據(jù)庫
4:DROP TABLE [表名] ?刪除表
? ? ? 注意:drop操作立即生效腥椒,不能回滾, delete 可以回滾候衍,drop刪除后立馬釋放空間
七:基礎(chǔ)命令查詢--查詢常用函數(shù)
1:MAX查詢最大值
? ? ?SELECT MAX(age) FROM tb寞酿;查詢age列的最大值
? ? ?SELECT MAX(age),MAX(sex) FROM tb脱柱;
2:DISTINCT去掉查詢結(jié)果的重復(fù)數(shù)據(jù)
? ? ?有時(shí)候查詢某些數(shù)據(jù)會有重復(fù)的伐弹,需要去掉重復(fù)就用次函數(shù)
? ? ? SELECT DISTINCT (sex) FROM tb;
? ? ? SELECT DISTINCT (*) FROM tb;
3:COUNT統(tǒng)計(jì)數(shù)量
? ? ? SELECT COUNT(*) FROM tb;統(tǒng)計(jì)有多少條數(shù)數(shù)據(jù)
4:AVG求值/SUM某合/MIN取最小值 用法和上面的都一樣
5:日期格式化函數(shù)DATE_FORMAT();
? ? ? ? 這個(gè)函數(shù)可以按照一定規(guī)則顯示不同的日期格式
? ? ? ? 比如我們有一個(gè)日期1989-09-12 (birthday字段名)
? ? ? select? DATE_FORMAT([列名],'%a/%m/%d/%y') from [表名] where id<5;
? ? ? %a 表示星期的英文縮寫如Fri,Mon, ?%w也表示星期是數(shù)字表示而已如5榨为,1
? ? ? ?%m 月份數(shù)字展示 ?惨好,%M月份英文展示
? ? ? ? %d 天(1-31) ?%e也是表示天數(shù)但是前面不帶0, %D也是表示天數(shù)是帶后綴的如2nd随闺,8th這種
? ? ? ?%y表示年份但是是取后兩位日川, ?%Y取四位年份
? ? ? ? 對于日期顯示格式可以用上面的任意組合而且可以加入(/,-)等來分割日期
6:返回當(dāng)前日期的函數(shù)
? ? ? NOW()獲取當(dāng)前系統(tǒng)的年月日時(shí)分秒 ?矩乐,CURRENT_DATE()獲取當(dāng)前的年月日
? ? ? select ?now(); ?select current_date();
? ? ? MONTH([列名]) 返回當(dāng)前列的月 ?,DAYOFMONTH([列名]) 返回當(dāng)前列的日
? ? ?SELECT ?MONTH([列名]) FROM [表名]龄句;