注意:MySQL指令不區分大小寫,可以随意換行,分号作為結束語句
####一、資料庫操作
DATABASES關鍵字可以用SCHEMA關鍵字替代
- 建立資料庫
CREATE DATABASE IF NOT EXISTS db_name --IF NOT EXISTS可以省略
DEFAULT CHARACTER SET = charset_name --指定資料庫字元集,可以省略
DEFAULT COLLATEN = collation_name; --指定字元集的校對規則
- 選擇資料庫
USE db_name; --選擇資料庫之後可以進行後續對資料庫的操作
- 修改資料庫
ALTER DATABASE db_name --選擇資料庫
alter-specification; --修改語句
- 删除資料庫
DROP DATABASE IF_EXISTS db_name; -- IF EXISTS 可以省略
- 檢視資料庫
SHOW DATABASES LIKE ‘pattern’ WHERE expr;
-- LIKE 用于指定資料庫名稱 WHERE限定資料庫查詢範圍
- 檢視指定資料庫建立資訊
SHOW CREATE DATABASE ‘資料庫名稱’
####二、表操作
- 建立表
CREATE TEMPORARY TABLE tb_name -- TEMPORARY關鍵字表明是臨時表,可以省略,表示為持久表
(
col1_name 資料類型 [列級完整性限制] [DEFAULT 預設值],
col2_name 資料類型 [列級完整性限制] [DEFAULT 預設值],
...
[表級完整性限制]
)ENGINE = 引擎類型;
-- 引擎類型可以省略,預設值也可以省略
常用完整性限制:
主碼限制:PRIMARY KEY
唯一性限制:UNIQUE
非空值限制:NOT NULL
- 更新表
- 在表中添加新列
ALTER TABLE tb_name
ADD COLUMN col_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
-
修改表中列的屬性
整體重定義
ALTER TABLE tb_name
CHANGE COLUMN col_name new_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
- 修改表中列的預設值(操作速度快)
ALTER TABLE tb_name
ALTER COLUMN col_name SET DEFAULT 新預設值; --修改預設值
ALTER COLUMN col_name DROP DEFAULT; --删除預設值
- 修改表中列的屬性和位置
ALTER TABLE tb_name
MODIFY COLUMN col_name new_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
- 删除表中的列
ALTER TABLE tb_name
DROP COLUMN col_name;
- 重命名表
- RENAME TO子句
ALTER TABLE tb_name
RENAME TO new_name;
- RENAME TABLE 語句
RENAME TABLE tb_name TO new_name
- 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tb_name;
- 檢視表
- 檢視表的名稱
SHOW [FULL(顯示表的類型)] TABLES IN db_name;
- 檢視表的結構
SHOW [FULL(顯示全部資訊)] COLUMNS IN/FROM tb_name IN/FROM db_name;
或者
DESC tb_name;
####三、索引操作
- 建立索引
- CREATE INDEX語句
CREATE [UNIQUE] INDEX index_name
ON tb_name (col_name1 [(length)] [ASC/DESC],col_name2 [(length)] [ASC/DESC]...);
-
CREATE TABLE語句
在使用CREATE TABLE語句建立表時直接加入語句建立索引
- PRIMARY KEY(col_name1,col_name2…);-- 建立主鍵
- INDEX/KEY [index_name] (col_name1,col_name2…);–建立普通索引
- FOREIGN KEY [index_name] (col_name1,col_name2…); --建立外鍵
- ALTER TABLE語句
- 檢視索引
SHOW INDEX/KEYS FROM tb_name FROM db_name WHERE expr;
- 删除索引
- DROP INDEX 語句
DROP INDEX index_name ON tb_name;
- ALTER TABLE語句
ALTER TABLE tb_name
DROP PRIMARY KEY/KEY/INDEX/FOREIGN KEY;
####四、資料操作
- 插入資料
INSERT INTO tb_name [(col_name1,col_name2...)] --括号内為要指派的列名,如果省略則按照表中列的預設順序依次指派
VALUE/VALUES(expr/default,expr/default...),(expr/default,expr/default...)
-- 括号内為賦給的值,可以是表達式或者是default 預設值,可以一次插入多行
指定部分列插入,未指定為預設值
INSERT INTO tb_name SET col_name1=expr1,col_name2=expr2...;
- 删除資料
DELETE FROM tb_name WHERE expr;
-
修改資料
UPDATE tb_name
SET col_name1=expr,col_name2=expr…
WHERE where_condition;
- 查詢資料
SELECT select_expr1,select
expr2 AS new_name,```
FROM tb_name WHERE where_condition;