SQL (Structured Query Language)
- 是一種規則,定義瞭如何操作所有關係型資料庫(如Oracle, Mysql DB2)
SQL 通用語法
- 單行多行書寫,分號結尾
- 不區分大小寫,但關鍵字建議大寫
- 註釋
- 單行:
-- 這是一段註釋
或# 這是一段註釋
- 多行
/* 這是一段註釋 */
- 單行:
SQL 分類
- DDL (Data Definition Language): 運算元據庫和表
- DML (Data Manipulation Language): 增刪改表中資料
- DQL (Data Query Language): 查詢資料
- DCL (Data Control Language): 授權訪問許可權,建立使用者
DDL
運算元據庫:
- CRUD:
- Create
create database mysql
建立指定名稱的資料庫create database if not exists mysql
建立前判斷是否存在該名稱create database mysql character set gbk
建立指定字符集的資料庫
- Retrieve
show databases;
查詢所有資料庫show create database 'mysql';
查詢該資料庫的建立語句和字符集
- Update
alter database mysql character set uft8;
- Delete
drop databse mysql;
或drop database if exists mysql;
- Create
操作表:
- CRUD:
- Create
create table t_name ( column1 type1, column2 type2, ... columnN typeN );
- 資料庫型別:
- int: age int
- double: score double(5, 2)
- date: yyyy-MM-dd
- datetime: yyyy-MM-dd HH:mm:ss
- timestamp: yyyy-MM-dd HH:mm:ss, 不賦值為當前值
- varchar: name varchar(20), 最大20字元
create table t_name ( id int, name varchar(32), age int, score double(4, 1), birthday date, insert_time timestamp );
- 複製表
create table t_name like origin_table_name;
- Retrieve
show tables
顯示某個資料庫中所有的表desc table_name
查詢某個表的結構
- Update
- 修改表名
alter table old_name rename to new_table;
- 修改字符集
alter table t_name character set utf8;
- 新增一列
alter table t_name add col_name type;
- 修改一列
alter table t_name change name new_name varchar(20);
alter table t_name modify name varchar(20);
- 刪除一列
alter table t_name drop name;
- 修改表名
- Delete
drop table t_name
或drop table if exists t_name
- Create
本作品採用《CC 協議》,轉載必須註明作者和本文連結