MySQL DDL 語句
什么是DDL,DML。
DDL 是數(shù)據(jù)定義語言,就是對數(shù)據(jù)庫,表層面的操作,如 CREATE,ALTER,DROP。DML 是數(shù)據(jù)操作語言,也就是對表中數(shù)據(jù)的增刪改查,如 SELECT,UPDATE,INSERT,DELETE。
假設現(xiàn)在有數(shù)據(jù)庫 lian_xi 里面有表 user 和 orders;
1.1登陸MySQL環(huán)境
在cmd窗口中輸入mysql -u root -p登錄MySQL環(huán)境
1.2查看數(shù)據(jù)庫
1.3使用數(shù)據(jù)庫
Use 數(shù)據(jù)庫名;
1.4創(chuàng)建數(shù)據(jù)庫
Create database 數(shù)據(jù)庫名;
1.5刪除數(shù)據(jù)庫
Drop database 數(shù)據(jù)庫名;
1.6創(chuàng)建表
Create table 表名(
列名1 類型(長度) [約束],
列名 2 類型(長度)[約束],
…
);
CREATE TABLE user(
id INT AUTO_INCREMENT PRIMARY KEY COMMENT ‘用戶id(主鍵)',
username VARCHAR(50) COMMENT ‘用戶姓名',
age CHAR(3) COMMENT ‘用戶年齡'
);
注意:
CREATE TABLE orders(
`id` INT UNSIGNED AUTO_INCREMENT,
`orders_title` VARCHAR(100) NOT NULL,
`orders_price` DOUBLE NOT NULL,
`create_date` DATE,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果你不想字段為 NULL 可以設置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時如果輸入該字段的數(shù)據(jù)為NULL ,就會報錯。
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會自動加1。 PRIMARY KEY關鍵字用于定義列為主鍵。
您可以使用多列來定義主鍵,列間以逗號分隔。 ENGINE 設置存儲引擎,CHARSET 設置編碼。
Int類型:帶長度,不影響存取值,即使設定的值超出了長度的范疇,也能存,如果沒有達到設定的長度,便使用空格自動填充到設定的長度。
Char類型:不可變字符,設定的長度就是規(guī)定的長度,當前字段自動能存的最大長度,若超出長度便會報錯,若沒有到達指定的長度便用空格填充。
Varchar類型:可變字符串,設定的長度同樣是規(guī)定當前字段能存的最大長度,若超出長度便會報錯,若沒有到達指定長度,不會用空格填充,實際多長就是多長。
表的約束
非空約束 not null 唯一性約束unique 默認值約束default 男 主鍵約束 primary key 外鍵約束
foreign key 檢查約束(目前MySQL不支持、Oracle支持)
1.7刪除表
Drop table 表名;
1.8修改表重命名表名
Rename table 原表名 to 新表名;
Rename table user to user_table;
新增列
給user表新增列hobby,(comment 后面跟 ‘注釋' 或者 ‘描述' 。需要單引號括起來);
Alter table user add column hobby varchar(100) comment '愛好' not null;
ALTER TABLE user_table ADD COLUMN hobby VARCHAR(100) NOT NULL COMMENT '愛好';
新增注釋
給表user_table增加注釋【個人信息表】,注釋需要單引號 ‘圈起來'
alter table user_table comment = '個人信息表';
刪除列
刪除user_table hobby列(危險:不要隨意刪除)
alter table user_table drop column hobby;
修改列名
Alter table 表名 change 列名 新列名 類型;
Alter table user change name username varchar(55);
修改列類型
Alter table 表名 change 列名 列名 類型;
Alter table user change name name char(4);
修改列類型
Alter table 表名 modify 列名 新類型;
Alter table user modify name char(4);
1.9索引添加索引
給表 user 的主鍵 id 添加索引;
UNIQUE為索引類型,可替換索引類型為:
UNIQUE|FULLTEXT|SPATIAL,
mysql 支持的其他索引類型分別為primary key,非唯一索引(默認)
create unique index ind_user_id on user(id);
刪除索引
刪除表 user 的 ind_user_id 索引;
drop index ind_user_id on user;
MySQL其它文章,請看下面鏈接
MySQL DDL 語句
MySQL CRUD 語句
MySQL 聚合函數(shù)
MySQL 多表查詢
END…
到此這篇關于MySQL數(shù)據(jù)定義語言DDL的基礎語句的文章就介紹到這了,更多相關MySQL數(shù)據(jù)定義語言DDL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL8.0 如何快速加列
- Mysql Online DDL的使用詳解
- MySQL DDL 引發(fā)的同步延遲該如何解決
- 詳解MySQL8.0原子DDL語法
- MySQL在線DDL工具 gh-ost的原理解析
- MySQL ddl語句的使用
- Mysql DDL常見操作匯總
- 解析MySQL8.0新特性——事務性數(shù)據(jù)字典與原子DDL
- MySQL8.0 DDL原子性特性及實現(xiàn)原理
- MySQL在線DDL gh-ost使用總結
- 解決MySQL 5.7中定位DDL被阻塞的問題
- MySQL8.0新特性之支持原子DDL語句
- MySQL曝中間人攻擊Riddle漏洞可致用戶名密碼泄露的處理方法
- MySQL 8.0 Online DDL快速加列的相關總結