ddl語言:邏輯庫、資料表、檢視、索引
dml語言: 新增、修改、刪除、查詢
dcl語言:使用者、許可權、事務
以下是ddl命令:
建立、修改、刪除資料庫
# 使用資料庫
use test01;
# 建立表和字段
create table student(
id int unsigned primary key,
name varchar(20) not null,
*** char(1) not null,
birthday date not null,
tel char(11) not null,
remark varchar(200)
);insert into student values(1,"麥志堅","男","2000-01-01","18000000000",null); # 插入資料
show tables; # 檢視表
desc student; # 查詢表的結構
show create table student; # 查詢建立表單的語句
drop table student; # 刪除表單
修改表單
# 修改表單,增加字段
alter table student
add address varchar(200) not null,
add home_tel char(11) not null;
# 修改表單,修改字段型別
alter table student
modify home_tel varchar(20) not null;
# 修改表單,修改欄位名稱
alter table student
change address home_addr varchar(200) not null;
# 修改表單,刪除字段
alter table student
drop home_addr,
drop home_tel;
主鍵自動賦值,設定唯一約束,設定布林預設值
# 建立表單
create table t_teacher(
id int unsigned primary key auto_increment,
name varchar(20) not null,
tel char(11) not null unique,
);alter table t_teacher
add married boolean not null default false;
建立外來鍵約束例項(注意理解原理即可,外來鍵約束一旦閉環,任何一張表都無法刪除,所以不推薦)
# 父表
create table t_department(
department_id int unsigned primary key,
department_name varchar(20) not null unique,
department_tel varchar(12) not null
);# 子表
create table t_employee(
employee_id int unsigned primary key,
employee_name varchar(20) not null,
*** enum("男","女") not null,
deparment_id int unsigned,
hire_date date not null,
# 設定外來鍵 關聯父表
foreign key(deparment_id) references t_department(department_id)
);
索引使用原則
資料量很大,而且經常被查詢的資料表可以設定索引(千百條資料或日誌無需使用)
索引只新增在經常被用作檢索新增的字段上面(如名字、部門、手機)
不要在大字段上建立索引(如超過50個字串)
建立、刪除、檢視索引
create table t_message(
id int unsigned primary key auto_increment,
content varchar(200) not null,
type enum("公告","通報","個人通知") not null,
create_time timestamp not null,
# 建立索引
index idx_type(type)
);# 刪除索引
drop index idx_type on t_message;
# 檢視索引
show index from t_message;
# 建立索引方法1
create index idx_type on t_message(type);
# 建立索引方法2
alter table t_message add index idx_type(type);
SQL基礎DDL語句
1,建立資料庫test1 create database test1 2,選擇資料庫test1 use test 1 3,檢視test1資料庫中建立的所有資料表 show tables 4,刪除test1資料庫 drop database test1 5,建立乙個名稱為 emp 的表。表中包括 3 ...
MySQL基礎 DDL語言(資料定義語句)
一 建立庫 create database if not exists 庫名 character set 字符集名 二 修改庫 alter database 庫名 character set 字符集名 三 刪除庫 drop database if exists 庫名 一 建立表 create tab...
mysql優化 ddl語句
mysql優化 ddl語句 mysql優化 ddl語句 在drop table維護mysql資料庫時,在drop操作期間,整個系統會被hang住,這個hang的時間的長短與buffer pool的大小相關。主要原因在於innodb在drop table時,會連續兩次遍歷buf pool lru 鍊錶...