1环戈、添加列:ALTER ?...ADD ??
單列:ALTER TABLE 表名 ADD 新加列名 屬性 [AFTER] 已有列名(可以指定位置)
添加多列:不能指定位置
2、刪除列:ALTER...DROP...,DROP....
還可以同時(shí)刪除同時(shí)添加兽叮,DROP及ADD
3、添加主鍵約束:
4贞绳、刪除約束:主鍵約束膨疏、唯一約束、外鍵約束等宗苍,與刪除列相似稼稿,其中刪除主鍵約束無(wú)需列出列名,因主鍵只有一個(gè)浓若,其他刪除時(shí)需注明列名
查詢(xún)數(shù)據(jù):
1渺杉、查詢(xún)數(shù)據(jù)通用的SELECT語(yǔ)法:
SELECT?column_name1蛇数,column_name2? FROM table_name
可以使用一個(gè)或多個(gè)表挪钓,用逗號(hào)分隔,可以讀取一條或多條記錄耳舅,可以使用LIMIL屬性設(shè)定返回的記錄數(shù)
2碌上、使用WHERE子句讀取數(shù)據(jù):
SELECT?field1, field2 FROM?table_name1, table_name2 ?[WHERE condition1 [AND [OR]] condition2
WHERE子句中可以指定任何條件,也可運(yùn)用于DELETE或UPDATE命令
修改數(shù)據(jù):
update語(yǔ)句使用形式:修改表中的數(shù)據(jù)
1浦徊、將 id 為 9的手機(jī)號(hào)改為默認(rèn)的?-?: update students settel=default where id=9
2馏予、將所有人的年齡增加 1:update students set age=age+1
3、將手機(jī)號(hào)為 132880 的姓名改為 "小明", 年齡改為 19: update students set name="小明", age=19 where tel="132880"
替換某個(gè)字段中的某個(gè)字符
UPDATE table_name SET field=REPLACE(field, 'old-string', 'new-string') [WHERE Clause]
刪除數(shù)據(jù)
DELETE語(yǔ)句:
DELETE FROM table_name [WHERE Clause]
不加where條件時(shí)刪除表中的所有數(shù)據(jù)
LIKE子句
通常與%使用盔性,類(lèi)似一個(gè)元字符的搜索霞丧,可以再DELETE或UPDATE命令中使用WHERE。冕香。蛹尝。LIKE。悉尾。
'%a' 以a結(jié)尾的數(shù)據(jù)? ? ‘a(chǎn)%’ 以a開(kāi)頭的數(shù)據(jù)? ? ‘%a%’含有a的數(shù)據(jù)
'_a_'三位且中間字母是a的? ? '_a'兩位且結(jié)尾字母是a? ?'a_'兩位且開(kāi)頭字母是a
UNION操作符
用于連接兩個(gè)以上的SELECT語(yǔ)句的結(jié)果組合到一個(gè)結(jié)果中突那,多個(gè)查詢(xún)語(yǔ)句會(huì)刪除重復(fù)的數(shù)據(jù),檢索
SELECT expression1, expression2, ... expression_n FROM tables[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n FROM tables[WHERE conditions]
SELECT要檢索的列FROM表[條件]UNION SELETE要檢索的列FROM表 條件
其中ALL代表所有數(shù)據(jù)构眯,包含重復(fù)數(shù)據(jù)愕难,DISTINCT為默認(rèn),刪除重復(fù)數(shù)據(jù),可不加
ORDER BY 排序
SELECT field1, field2? table_name1, table_name2 ORDER BY field1, [field2...] [ASC [DESC]]
ASC與DESC設(shè)置結(jié)果為升序或降序猫缭,默認(rèn)為升序葱弟;可添加WHERE。猜丹。LIKE子句設(shè)置條件
GROUP BY 分組
SELECT column_name, function(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name
根據(jù)一個(gè)或多個(gè)列對(duì)結(jié)果集進(jìn)行分組翘悉,在分組的列上可以使用COUNT,SUM居触,AVG(function)等函數(shù)
連接的使用:
兩個(gè)或多個(gè)表中查詢(xún)數(shù)據(jù)妖混,JION的使用
INNER JION(內(nèi)連接,等值連接):獲取兩個(gè)表中字段匹配關(guān)系的記錄
LEFT JION(左連接):獲取左表中所有記錄轮洋,即使右表中沒(méi)有對(duì)應(yīng)匹配的記錄
RIGHT JION(右連接):獲取右表中所有記錄制市,即使左表中沒(méi)有對(duì)應(yīng)匹配的記錄
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author
相當(dāng)于
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author
NULL值的處理:
IS NULL:
IS NOT NULL:
<=>:比較操作符,不同于=運(yùn)算符弊予,當(dāng)比較的兩個(gè)值為NULL時(shí)返回true
注意:不能使用=NULL或祥楣!=NULL來(lái)查找空值,因NULL與任何值得比較永遠(yuǎn)返回false汉柒,即使NULL=NULL也會(huì)是false
正則表達(dá)式:
^:匹配字符串的開(kāi)始位置
$:匹配字符串的結(jié)束位置
.:匹配除“\n”之外的任何單個(gè)字符
[...]:字符集合误褪,匹配包含的任意一個(gè)字符?
[^...] :負(fù)值字符集合,匹配未包含的任意字符??
p1|p2|p3:匹配p1或p2或p3
?*:匹配前面的子表達(dá)式一次或多次??
+:匹配前面的子表達(dá)式一次或多次?
?{n}:n是一個(gè)非負(fù)整數(shù)碾褂,匹配確定的n次? ?
{n,m}:m和n均為非負(fù)整數(shù)兽间,其中n<=m,最少匹配n次且最多匹配m次
ALTER命令:
當(dāng)需要修改數(shù)據(jù)表名或者修改數(shù)據(jù)表字段時(shí)需要使用ALTER命令
刪除列:ALTER TABLE 表名 DROP 列名
添加列:ALTER TABLE 表名 ADD 列名 屬性 [FIRST](AFTER 列名)
其中FIRST和AFTER只占用ADD子句正塌,如果想重置數(shù)據(jù)表字段的位置就需要先刪除DROP然后再添加ADD并且設(shè)置位置
修改字段類(lèi)型及名稱(chēng)嘀略,使用MODIFY或CHANGE:
ALTER TABLE testalter_tbl MODIFY 列名 CHAR(10)(此為更改后的數(shù)據(jù)類(lèi)型)
ALTER TABLE testalter_tbl CHANGE 要修改的字段名? 新字段名? ?新數(shù)據(jù)類(lèi)型