MySQL DDL 語(yǔ)句
什么是DDL,DML。
DDL 是數(shù)據(jù)定義語(yǔ)言,就是對(duì)數(shù)據(jù)庫(kù),表層面的操作,如 CREATE,ALTER,DROP。DML 是數(shù)據(jù)操作語(yǔ)言,也就是對(duì)表中數(shù)據(jù)的增刪改查,如 SELECT,UPDATE,INSERT,DELETE。
假設(shè)現(xiàn)在有數(shù)據(jù)庫(kù) lian_xi 里面有表 user 和 orders;
1.1登陸MySQL環(huán)境
在cmd窗口中輸入mysql -u root -p登錄MySQL環(huán)境
1.2查看數(shù)據(jù)庫(kù)
Show databases;
1.3使用數(shù)據(jù)庫(kù)
Use 數(shù)據(jù)庫(kù)名;
Use lian_xi;
1.4創(chuàng)建數(shù)據(jù)庫(kù)
Create database 數(shù)據(jù)庫(kù)名;
Create database lian_xi;
1.5刪除數(shù)據(jù)庫(kù)
Drop database 數(shù)據(jù)庫(kù)名;
Drop database lian_xi;
1.6創(chuàng)建表
Create table 表名(
列名1 類(lèi)型(長(zhǎng)度) [約束],
列名 2 類(lèi)型(長(zhǎng)度)[約束],
…
);
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 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫(kù)時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)。
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1。 PRIMARY KEY關(guān)鍵字用于定義列為主鍵。
您可以使用多列來(lái)定義主鍵,列間以逗號(hào)分隔。 ENGINE 設(shè)置存儲(chǔ)引擎,CHARSET 設(shè)置編碼。Int類(lèi)型:帶長(zhǎng)度,不影響存取值,即使設(shè)定的值超出了長(zhǎng)度的范疇,也能存,如果沒(méi)有達(dá)到設(shè)定的長(zhǎng)度,便使用空格自動(dòng)填充到設(shè)定的長(zhǎng)度。
Char類(lèi)型:不可變字符,設(shè)定的長(zhǎng)度就是規(guī)定的長(zhǎng)度,當(dāng)前字段自動(dòng)能存的最大長(zhǎng)度,若超出長(zhǎng)度便會(huì)報(bào)錯(cuò),若沒(méi)有到達(dá)指定的長(zhǎng)度便用空格填充。
Varchar類(lèi)型:可變字符串,設(shè)定的長(zhǎng)度同樣是規(guī)定當(dāng)前字段能存的最大長(zhǎng)度,若超出長(zhǎng)度便會(huì)報(bào)錯(cuò),若沒(méi)有到達(dá)指定長(zhǎng)度,不會(huì)用空格填充,實(shí)際多長(zhǎng)就是多長(zhǎng)。
表的約束
非空約束 not null 唯一性約束unique 默認(rèn)值約束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 后面跟 ‘注釋' 或者 ‘描述' 。需要單引號(hào)括起來(lái));
Alter table user add column hobby varchar(100) comment '愛(ài)好' not null; ALTER TABLE user_table ADD COLUMN hobby VARCHAR(100) NOT NULL COMMENT '愛(ài)好';
新增注釋
給表user_table增加注釋【個(gè)人信息表】,注釋需要單引號(hào) ‘圈起來(lái)'
alter table user_table comment = '個(gè)人信息表';
刪除列
刪除user_table hobby列(危險(xiǎn):不要隨意刪除)
alter table user_table drop column hobby;
修改列名
Alter table 表名 change 列名 新列名 類(lèi)型;
Alter table user change name username varchar(55);
修改列類(lèi)型
Alter table 表名 change 列名 列名 類(lèi)型;
Alter table user change name name char(4);
修改列類(lèi)型
Alter table 表名 modify 列名 新類(lèi)型;
Alter table user modify name char(4);
1.9索引添加索引
給表 user 的主鍵 id 添加索引;
UNIQUE為索引類(lèi)型,可替換索引類(lèi)型為:
UNIQUE|FULLTEXT|SPATIAL,
mysql 支持的其他索引類(lèi)型分別為primary key,非唯一索引(默認(rèn))
create unique index ind_user_id on user(id);
刪除索引
刪除表 user 的 ind_user_id 索引;
drop index ind_user_id on user;
MySQL其它文章,請(qǐng)看下面鏈接
MySQL DDL 語(yǔ)句
MySQL CRUD 語(yǔ)句
MySQL 聚合函數(shù)
MySQL 多表查詢
END…
到此這篇關(guān)于MySQL數(shù)據(jù)定義語(yǔ)言DDL的基礎(chǔ)語(yǔ)句的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)定義語(yǔ)言DDL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:貴州 鷹潭 鎮(zhèn)江 北京 阜新 臺(tái)灣 日照 合肥
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)定義語(yǔ)言DDL的基礎(chǔ)語(yǔ)句》,本文關(guān)鍵詞 MySQL,數(shù)據(jù),定義,語(yǔ)言,DDL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。