標籤:mysql
1.資料庫的建立、修改、刪除
建立:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification];
例如:
CREATE DATABASE IF NOT EXISTS test CHARACTER SET ‘gbk‘ COLLATE ‘gbk_chinese_ci‘;
修改:
ALTER {DATABASE | SCHEMA} [db_name] alter_specification;
通常只能修改資料庫字元集及定序。
刪除:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
2.表的建立、修改、刪除
建立:表的建立有三種方式
直接定義一張空表
CREATE TABLE [IF NOT EXISTS] tb_name (欄位名稱 欄位定義,...) [table_options];
從其它表中查詢出資料,並以之建立新表:欄位的格式定義將不會存在
CREATE TABLE [IF NOT EXISTS] tb_name [(欄位名稱 欄位定義,...)] [table_options] select_statement;
以其它表為模板建立一個空表
CREATE TABLE [IF NOT EXISTS] tb_name LIKE old_tb_name;
修改:
ALTER TABLE tbl_name [alter_specification [, alter_specification] ...];
alter_specification:
ADD:添加欄位、索引、約束。
CHANGE | MODIFY:修改欄位定義,change可以修改欄位名稱,而modify不行。
DROP:刪除欄位、索引、約束。
RENAME [TO|AS]:重新命名表名。
CONVERT TO CHARACTER SET:修改預設字元集。
刪除:
DROP TABLE [IF EXISTS] tbl_name
3.索引的建立、刪除
建立:
CREATE INDEX index_name ON tb_name (col_name [(length)] [ASC | DESC],...);
length:索引的長度,表示從最左側起比較多長的字元。
ASC:升序排序。
DESC:降序排序。
刪除:
DROP INDEX index_name ON tbl_name;
4.查詢操作
簡單查詢:投影、選擇
SELECT select-list FROM tb WHERE qualification;
FROM子句:要查詢的關係。
WHERE子句:
布爾關聯運算式:=、<、>、>=、<=。
邏輯關係:AND、OR、NOT。
BETWEEN ... AND...:在誰和誰之間。
LIKE:
%: 任意長度任一字元
_:任意單個字元
REGEXP, RLIKE:和LIKE相似,支援Regex。
IN:做離散取值,表示在某個列表當中。
IS [NOT] NULL:是否為空白。
ORDER BY field_name [ASC|DESC]:將查詢後的結果排序。
欄位別名:AS
LIMIT子句:LIMIT [offset,]count
offset:表示位移量,略過前offset條合格結果。
count:顯示前count條合格結果。
彙總:SUM(), MIN(), MAX(), AVG(), COUNT()。
GROUP BY: 分組
HAVING qualification:在分組中過濾條件。
多表查詢:
串連:
交叉串連:笛卡爾乘積。
自然串連:具有相同名字的屬性上所有取值相同的行。
外串連:以左表或右表為準,如果另一張表中沒有對應值則顯示NULL.
左外串連:tb_name LEFT JOIN tb_name ON condition
右外串連: tb_name RIGHT JOIN tb_name ON condition
自串連:將同一張表中的查詢結果串連在一起。
子查詢:
比較操作中使用子查詢:子查詢只能返回單個值。
IN():在IN中使用子查詢。
在FROM中使用子查詢。
MySQL基本語句——增、刪、查、改