MySQL 基礎語句 DDL

2021-09-19 13:32:28 字數 2612 閱讀 4416

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 鍊錶...