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;