1. 程式人生 > >MySQL基礎系列之 DDL 資料定義語句大全

MySQL基礎系列之 DDL 資料定義語句大全

連線資料庫 mysql -u [使用者名稱] -h[host] -P[埠號] -p[密碼]
mysql -u root -h【127.0.0.1】 -P3306 -p123456

檢視資料庫SHOW DATABASES databases

使用或切換資料庫 USE [資料庫名]
use db_test;

檢視當前資料庫的所有表 SHOW TABLES;

查看錶的所有欄位 SHOW COLUMNS FROM [table_name]

檢視預設引擎
SHOW VARIABLES LIKE ‘storage_engine’;
建立資料庫 CREATE DATABASE
CREATE DATABASE db_market CHARACTER SET UTF8;

刪除資料庫 DROP DATABASE [db_name] (慎用)
drop database db_test;

建立資料表CREATE TABLE table_name (column_name column_type)
指定主鍵
CREATE TABLE tb_goods(
id int not null auto_increment,
goodsname varchar(20) COMMENT ‘商品名稱’,
price DECIMAL(9,2),
PRIMARY KEY (id)
)

聯合主鍵
CREATE TABLE tb_order(
id INT NOT NULL AUTO_INCREMENT,
orderno varchar(32),
goodsid int,
PRIMARY KEY (id,goodsid )
)

刪除表(沒有被關聯的表)
DROP TABLE IF EXISTS table_name;

刪除有關聯的表 先將關聯關係(外來鍵等)取消再刪除
1.檢視關聯表的外來鍵
show create table 從表名;
2.刪除關聯關係
alter table 從表名 drop foreign key 外來鍵約束名;
3.刪除主表
drop table table_name;

修改表名
ALTER TABLE tb_goods RENAME TO tb_goods2;
ALTER TABLE tb_goods2 RENAME TO tb_goods;

表新增唯一索引
ALTER TABLE tb_goods ADD unique(goodsid);
ALTER TABLE tb_goods ADD constraint uk_goodsid unique (goodsid );

表刪除索引
DROP INDEX index_name ON table_nane;

表新增外來鍵約束(表存在)
ALTER TABLE tb_order ADD CONSTRAINT fk_goodsid FOREIGN KEY(goodsid)

表新增外來鍵約束(建立表時)
CREATE TABLE tb_order(
id INT NOT NULL AUTO_INCREMENT,
orderno varchar(32),
goodsid int,
PRIMARY KEY (id,goodsid ) ,
CONSTRAINT fk_goodsid FOREIGN KEY (goodsid) REFERENCES tb_goods (id)
)
REFERENCES tb_goods(id);

表刪除外來鍵約束
ALTER TABLE table_name DROP FOREIGN KEY keyname

修改表儲存引擎ALTER TABLE table_name engine=‘更改後的儲存引擎名/字元編碼’
ALTER TABLE tb_goodsengine = ‘innoDB’;

修改表字符編碼
ALTER TABLE tb_goods charset = ‘gb2312’;

清空表
TRUNCATE TABLE table_name

欄位刪除
ALTER TABLE tb_goods DROP goodsname;

欄位新增在某個欄位後面,無AFTER|FIRST關鍵字預設新增在末尾
ALTER TABLE tb_goods ADD goodsname VARCHAR(32) AFTER goodsid ;

欄位新增在在首位
ALTER TABLE tb_goods ADD goodsname VARCHAR(32) FIRST ;

欄位屬性修改
ALTER TABLE tb_goods MODIFY goodsname VARCHAR(30);

欄位重新命名CHANGE 關鍵字之後,跟著要修改的欄位名,然後指定新欄位名及型別
ALTER TABLE tb_goods CHANGE goodsname goodsname2 VARCHAR(50);
ALTER TABLE tb_goods CHANGE goodsname2 goodsname VARCHAR(32);

欄位預設值修改
ALTER TABLE tb_goods ALTER goodsname SET DEFAULT ‘’;

欄位預設值刪除
ALTER TABLE tb_goods ALTER goodsname DROP DEFAULT;