標籤:
一.表結構的修改(DDL)
1.添加表結構的欄位
a.ALTER TABLE 表名
ADD 欄位名 資料類型 [欄位屬性|約束條件]
[FIRST|AFTER 欄位名];
b. 添加多個欄位
ALTER TABLE 表名
ADD 欄位名 資料類型 [欄位屬性|約束條件]
[FIRST|AFTER 欄位名],
ADD 欄位名 資料類型 [欄位屬性|約束條件]
[FIRST|AFTER 欄位名]...;
2 刪除欄位
ALTER TABLE 表名
DROP 欄位名,
DROP 欄位名...;
3.修改欄位
ALTER TABLE 表名
MODIFY 欄位名 資料類型 [欄位屬性|約束條件]
[FIRST|AFTER 欄位名];
4.修改欄位名稱
ALTER TABLE 表名
CHANGE 舊欄位名 新欄位名 資料類型 [欄位屬性|約束條件]
[FIRST|AFTER 欄位名];
5.添加預設值
ALTER TABLE 表名
ALTER 欄位名 SET DEFAULT 值;
6.刪除預設值
ALTER TABLE 表名
ALTER 欄位名 DROP DEFAULT;
7.添加主鍵
ALTER TABLE 表名
ADD PRIMARY KEY(欄位名稱);
8.刪除主鍵
ALTER TABLE KEY|INDE表名
DROP PRIMARY KEY;
說明:如果有AUTO_INCRMENT屬性,一定要先刪除
AUTO_INCRMENT才能刪除主鍵
9.添加唯一性
a.ALTER TABLE 表名
ADD UNIQUE KEY|INDEX(欄位名);
b.a.ALTER TABLE 表名
ADD [CONSTRAINT 約束名稱] UNIQUE KEY|INDEX(欄位名);
10刪除唯一性
ALTER TABLE 表名
DROP KEY|INDEX 唯一性限制式名稱;
說明:如果添加唯一性沒有設定 唯一性限制式名稱,
預設為欄位名稱
11. 修改表名稱
a. ALTER TABLE 表名
RENAME [AS|TO] 新表名;
b. RENAME TABLE 舊錶名
TO 新表名;
12. 重設自動成長
ALTER TABLE 表名
AUTO_INCREMENT=1;
二.協助
? 命令
help 命令
\h 命令
三.表中對資料的操作(DML)
(1)添加(INSERT)
a.不列出表欄位的添加(從第一欄位到最後一個欄位都賦值)
INSERT [INTO] 表名
VALUE[S] (值,值,值...);
b.不省略欄位添加(添加一條記錄)
INSERT [INTO] 表名(欄位名,欄位名...)
VALUE[S] (值,值...);
c.不省略欄位添加(添加多記錄)
INSERT [INTO] 表名(欄位名,欄位名...)
VALUE[S]
(值,值...),
(值,值...)...;
d.INSERT...SET (只能添加一條記錄)
INSERT [INTO] 表名 SET 欄位名=值,
欄位名=值...;
(2)更新(UPDATE)
UPDATE 表名 SET 欄位名=值,
欄位名=值... [WHERE 條件];
說明:
如果更新沒有WHERE 條件,表中欄位
值都相同的值記錄
(3)刪除 (DELETE)
a.DELETE FROM 表名 [WHERE 條件];
說明:如果刪除沒有WHERE 條件,
將會清空表中所有資料,
AUTO_INCREMENT 不重設
b. TRUNCATE 表名;
說明: 清空表中所有資料,
並且 AUTO_INCREMENT 重設
四.表中對資料的查詢(DQL)
1. 查詢所有欄位(效率底)
SELECT * FROM 表名;
2.列出欄位查詢
SELECT 欄位名|expr,欄位名|expr...
FROM 表名;
3.給欄位起別名
SELECT 欄位名 [AS]別名
FROM 表名;
4.給表起別名
SELECT 欄位名
FROM 表名 [AS]別名;
5.表名(別名).欄位名(欄位來自哪個表)
SELECT 表名(別名).欄位名
FROM 表名 [AS]別名;
6. 資料庫名.表名 (表來自哪個資料庫)
SELECT 欄位名
FROM 資料庫名.表名;
7.
SELECT 欄位名|expr,欄位名|expr...
FROM 表名
[WHERE 條件]
[GROUP BY 欄位]
[HAVING 條件]
[ORDER BY 欄位]
[LIMIT [$offset,]$length];
7.1 WHERE 條件:條件過濾
(1)比較子
> >= < <= =(等於) != <>
<=>(判斷NULL)
(2) IS [NOT] NULL (判斷NULL)
(3)[NOT] BETWEEN ...AND 範圍值
(4) [NOT] IN(值,值...) 某個值
(5) 邏輯運算子實現條件過濾
!非
&& AND 與
|| OR 或
(6) LIKE 實現模糊查詢
[NOT] LIKE ‘字串‘
關鍵字
(1) %:包含任意多個字元(0個,1個,多個)
(2)_: 包含任意一個字元
7.2 GROUP BY 欄位:分組,將欄位中相同的值
分為一組
說明:
a.分組值顯示一個結果,如果多個值顯示
小編號的結果,一般顯示分組的欄位
b. 分組結合彙總函式使用
COUNT(*):獲得每組中的個數,包含null
COUNT(欄位) :不包含null值
AVG(欄位):獲得每組中的平均值
MAX(欄位):獲得每組中的最大值
MIN(欄位):獲得每組中的最小值
SUM(欄位):獲得每組中的和
7.3 HAVING 條件:二次條件過濾
說明:
a. WHERE 對欄位的條件過濾
b. HAVING對一個運行結果的條件過濾,
結合分組使用
7.4 ORDER BY 欄位:對欄位排序
說明:
ORDER BY 欄位 [ASC升序|DESC降序]
7.5
LIMIT [$offset,]$length:顯示n條記錄
說明:
a.$offset:位移量,起始編號,編號從0開始
b.$length:顯示記錄(行)長度
c.實現web程式的分頁原理
計算$offset =(當前頁-1)*顯示長度
$offset = ($curpage-1)*$pagesize
第二階段 MySQL函數庫 表的修改與查詢