主頁 > 知識庫 > MySQL數(shù)據(jù)定義語言DDL的基礎語句

MySQL數(shù)據(jù)定義語言DDL的基礎語句

熱門標簽:地圖標注客戶付款 石家莊400電話辦理公司 臨沂做地圖標注 許昌外呼增值業(yè)務線路 咸陽防封電銷卡 新鄉(xiāng)智能外呼系統(tǒng)好處 廣東400企業(yè)電話申請流程 申請400電話電話價格 宜賓全自動外呼系統(tǒng)廠家

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ù)庫

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 可以設置字段的屬性為 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 表名;

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 聚合函數(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快速加列的相關總結

標簽:貴州 鷹潭 鎮(zhèn)江 北京 阜新 臺灣 日照 合肥

巨人網(wǎng)絡通訊聲明:本文標題《MySQL數(shù)據(jù)定義語言DDL的基礎語句》,本文關鍵詞  MySQL,數(shù)據(jù),定義,語言,DDL,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數(shù)據(jù)定義語言DDL的基礎語句》相關的同類信息!
  • 本頁收集關于MySQL數(shù)據(jù)定義語言DDL的基礎語句的相關信息資訊供網(wǎng)民參考!
  • 推薦文章