1. 程式人生 > 資料庫 >MySQL資料定義語言DDL的基礎語句

MySQL資料定義語言DDL的基礎語句

MySQL DDL 語句

什麼是DDL,DML。

DDL 是資料定義語言,就是對資料庫,表層面的操作,如 CREATE,ALTER,DROP。DML 是資料操作語言,也就是對錶中資料的增刪改查,如 SELECT,UPDATE,INSERT,DELETE。

假設現在有資料庫 lian_xi 裡面有表 user 和 orders;

1.1登陸MySQL環境

在cmd視窗中輸入mysql -u root -p登入MySQL環境

1.2檢視資料庫

Show databases;

1.3使用資料庫

Use 資料庫名;

Use lian_xi;

1.4建立資料庫

Create database 資料庫名;

Create database lian_xi;

1.5刪除資料庫

Drop database 資料庫名;

Drop database lian_xi;

1.6建立表

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, 在操作資料庫時如果輸入該欄位的資料為NULL ,就會報錯。
AUTO_INCREMENT定義列為自增的屬性,一般用於主鍵,數值會自動加1。 PRIMARY KEY關鍵字用於定義列為主鍵。
您可以使用多列來定義主鍵,列間以逗號分隔。 ENGINE 設定儲存引擎,CHARSET 設定編碼。

Int型別:帶長度,不影響存取值,即使設定的值超出了長度的範疇,也能存,如果沒有達到設定的長度,便使用空格自動填充到設定的長度。
Char型別:不可變字元,設定的長度就是規定的長度,當前欄位自動能存的最大長度,若超出長度便會報錯,若沒有到達指定的長度便用空格填充。

Varchar型別:可變字串,設定的長度同樣是規定當前欄位能存的最大長度,若超出長度便會報錯,若沒有到達指定長度,不會用空格填充,實際多長就是多長。

表的約束

非空約束 not null 唯一性約束unique 預設值約束default 男 主鍵約束 primary key 外來鍵約束
foreign key 檢查約束(目前MySQL不支援、Oracle支援)

1.7刪除表

Drop table 表名;

Drop table user;

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 聚合函式
MySQL 多表查詢

END…

到此這篇關於MySQL資料定義語言DDL的基礎語句的文章就介紹到這了,更多相關MySQL資料定義語言DDL內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!