MySQL數(shù)據(jù)定義語言DDL的基礎(chǔ)語句
MySQL DDL 語句
什么是DDL,DML。
DDL 是數(shù)據(jù)定義語言,就是對數(shù)據(jù)庫,表層面的操作,如 CREATE,ALTER,DROP。DML 是數(shù)據(jù)操作語言,也就是對表中數(shù)據(jù)的增刪改查,如 SELECT,UPDATE,INSERT,DELETE。
假設(shè)現(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ù)庫
Show databases;
1.3使用數(shù)據(jù)庫
Use 數(shù)據(jù)庫名;
Use lian_xi;
1.4創(chuàng)建數(shù)據(jù)庫
Create database 數(shù)據(jù)庫名;
Create database lian_xi;
1.5刪除數(shù)據(jù)庫
Drop database 數(shù)據(jù)庫名;
Drop database lian_xi;
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 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)。AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1。 PRIMARY KEY關(guān)鍵字用于定義列為主鍵。您可以使用多列來定義主鍵,列間以逗號(hào)分隔。 ENGINE 設(shè)置存儲(chǔ)引擎,CHARSET 設(shè)置編碼。
Int類型:帶長度,不影響存取值,即使設(shè)定的值超出了長度的范疇,也能存,如果沒有達(dá)到設(shè)定的長度,便使用空格自動(dòng)填充到設(shè)定的長度。Char類型:不可變字符,設(shè)定的長度就是規(guī)定的長度,當(dāng)前字段自動(dòng)能存的最大長度,若超出長度便會(huì)報(bào)錯(cuò),若沒有到達(dá)指定的長度便用空格填充。Varchar類型:可變字符串,設(shè)定的長度同樣是規(guī)定當(dāng)前字段能存的最大長度,若超出長度便會(huì)報(bào)錯(cuò),若沒有到達(dá)指定長度,不會(huì)用空格填充,實(shí)際多長就是多長。
表的約束
非空約束 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)括起來);
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增加注釋【個(gè)人信息表】,注釋需要單引號(hào) ‘圈起來’
alter table user_table comment = ’個(gè)人信息表’;
刪除列刪除user_table hobby列(危險(xiǎn):不要隨意刪除)
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,非唯一索引(默認(rèn))
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…
到此這篇關(guān)于MySQL數(shù)據(jù)定義語言DDL的基礎(chǔ)語句的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)定義語言DDL內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. DB2 變更管理工具與Rational DA集成(1)2. ORA-06512數(shù)字或值錯(cuò)誤字符串緩沖區(qū)太小異常詳解3. Window7安裝MariaDB數(shù)據(jù)庫及系統(tǒng)初始化操作分析4. Mysql InnoDB的鎖定機(jī)制實(shí)例詳解5. Access數(shù)據(jù)庫安全的幾個(gè)問題6. Delphi中的Access技巧集7. MySQL中 concat函數(shù)的使用8. 用shell抽取,更新db2的數(shù)據(jù)9. 整理Oracle數(shù)據(jù)庫碎片10. oracle觸發(fā)器介紹
