MySQL表的操作

1. 查看表

SHOW TABLES
SHOW CREATE TABLE students


查看所有表

查看如何創(chuàng)建表

2. 創(chuàng)建表

  • 如果你僅想在一個表不存在時創(chuàng)建它趋箩,應(yīng)該在表名后給出IFNOT EXISTS啄踊。這樣做不檢查已有表的模式是否與你打算創(chuàng)建的表模式相匹配。它只是查看表名是否存在,并且僅在表名不存在時創(chuàng)建它
  • 使用CREATE TABLE 語句
  • 新表的的名字蛇数,在關(guān)鍵字CREATE TABLE 之后
  • 表列的名字和定義,用逗號分隔
CREATE TABLE students (
    id          int         NOT NULL   AUTO_INCREMENT,
    name    char(50)    NOT NULL,
    address     char(200)   NOT NULL,
    email   char(50)    NOT NULL,
    PRIMARY KEY(id))

查看表結(jié)構(gòu)

DESC students

3. NULL值

  • NULL值就是沒有值或缺值。允許NULL值的列也允許在插入行時不給出該列的值啸箫。不允許NULL值的列不接受該列沒有值的行,換句話說伞芹,在插入或更新行時忘苛,該列必須有值
例:

CREATE TABLE orders(
order_num int NOT NULL AUTO_INCREMENT,
order_date datetime NOT NULL,
cust_id int NOT NULL,
PRIMARY_KEY(order_num));
這條語句創(chuàng)建本書中所用的orders表。orders包含3個列唱较,分別是訂單號扎唾、訂單日期和客戶ID。所有3個列都需要南缓,因此每個列的定義都含有關(guān)鍵字NOT NULL胸遇。這將會阻止插入沒有值的列。如果試圖插入沒有值的列西乖,將返回錯誤狐榔,且插入失敗

CREATE TABLE vendors(
vend_id int NOT NULL AUTO_INCREMENT, vend_name char(50) NOT NULL ,
vend_address char(50) NULL , vend_city char(50) NULL ,
vend_state char(5) NULL , vend_zip char(10) NULL ,
vend_country char(50) NULL , PRIMARY KEY (vend_id));
這條語句創(chuàng)建本書中使用的vendors表坛增。供應(yīng)商ID和供應(yīng)字列是必需的,因此指定為NOT NULL薄腻。其余5個列全都允許NULL值收捣,所以不指定NOT NULL。NULL為默認設(shè)置庵楷,如果不指定NOT NULL罢艾,則認為指定的是NULL

不要把NULL值與空串相混淆。NULL值是沒有值尽纽,它不是空串咐蚯。如果指定''(兩個單引號,其間沒有字符)弄贿,這在NOT NULL列中是允許的春锋。空串是一個有效的值差凹,它不是無值期奔。NULL值用關(guān)鍵字NULL而不是空串指定

4. 主鍵

  • 表中的任何列都可以作為主鍵,只要它滿足以下條件:
    任意兩行都不具有相同的主鍵值
    每個行都必須具有一個主鍵值(主鍵列不允許NULL值)

5. 自增

使用AUTO_INCREMENT

customers表中的顧客由列cust_id唯一標識危尿,每個顧客有一個唯一編號呐萌。類似,orders表中的每個訂單有一個唯一的訂單號谊娇,這個訂單號存儲在列order_num中肺孤。
這些編號除它們是唯一的以外沒有別的特殊意義。在增加一個新顧客或新訂單時济欢,需要一個新的顧客ID或訂單號赠堵。這些編號可以任意,只要它們是唯一的即可船逮。顯然顾腊,使用的最簡單的編號是下一個編號粤铭,所謂下一個編號是大于當(dāng)前最大編號的編號挖胃。例如,如果cust_id的最大編號為10005梆惯,則插入表中的下一個顧客可以具有等于10006的cust_id

6. 默認值

指定默認值
如果在插入行時沒有給出值酱鸭,MySQL允許指定此時使用的默認值。
默認值用CREATE TABLE語句的列定義中的DEFAULT關(guān)鍵字指定垛吗。

CREATE TABLE students( 
    stu_id       int            NOT NULL AUTO_INCREMENT, 
    birthday    date  NOT NULL,
    navtive_plac  varchar(50)  NOT NULL DEFAULT “山西長治”,
    PRIMARY_KEY(order_num));

7. 更新表

  1. 為更新表定義凹髓,可使用ALTER TABLE語句。但是怯屉,理想狀態(tài)下蔚舀,當(dāng)表中存儲數(shù)據(jù)以后饵沧,該表就不應(yīng)該再被更新。在表的設(shè)計過程中需要花費大量時間來考慮赌躺,以便后期不對該表進行大的改動狼牺。
  2. 為了使用ALTER TABLE更改表結(jié)構(gòu),必須給出下面的信息:
    在ALTER TABLE之后給出要更改的表名(該表必須存在礼患,否則將出錯)

添加一列:
ALTER TABLE orders ADD phone int(11);
刪除一列:
ALTER TABLE orders DROP COLUMN phone;

小心使用ALTER TABLE 使用ALTER TABLE要極為小心是钥,應(yīng)該在進行改動前做一個完整的備份(模式和數(shù)據(jù)的備份)。數(shù)據(jù)庫表的更改不能撤銷缅叠,如果增加了不需要的列悄泥,可能不能刪除它們。類似地肤粱,如果刪除了不應(yīng)該刪除的列弹囚,可能會丟失該列中的所有數(shù)據(jù)

8. 刪除表

  • 刪除表(刪除整個表而不是其內(nèi)容)非常簡單,使用DROP TABLE語句即可:
  • DROP TABLE orders;

9. 重命名表

  • 使用RENAME TABLE語句可以重命名一個表:
  • RENAME TABLE orders to orders1;

CREATE TABLE用來創(chuàng)建新表
ALTERTABLE用來更改表列
DROP TABLE用來完整地刪除一個表

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末领曼,一起剝皮案震驚了整個濱河市余寥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悯森,老刑警劉巖宋舷,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瓢姻,居然都是意外死亡祝蝠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門幻碱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绎狭,“玉大人,你說我怎么就攤上這事褥傍±芩唬” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵恍风,是天一觀的道長蹦狂。 經(jīng)常有香客問我,道長朋贬,這世上最難降的妖魔是什么凯楔? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮锦募,結(jié)果婚禮上摆屯,老公的妹妹穿的比我還像新娘。我一直安慰自己糠亩,他們只是感情好虐骑,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布准验。 她就那樣靜靜地躺著,像睡著了一般廷没。 火紅的嫁衣襯著肌膚如雪沟娱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天腕柜,我揣著相機與錄音济似,去河邊找鬼。 笑死盏缤,一個胖子當(dāng)著我的面吹牛砰蠢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唉铜,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼台舱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了潭流?” 一聲冷哼從身側(cè)響起竞惋,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灰嫉,沒想到半個月后拆宛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡讼撒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年浑厚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片根盒。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡钳幅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炎滞,到底是詐尸還是另有隱情敢艰,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布册赛,位于F島的核電站钠导,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏击奶。R本人自食惡果不足惜辈双,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柜砾。 院中可真熱鬧,春花似錦换衬、人聲如沸痰驱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽担映。三九已至废士,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蝇完,已是汗流浹背官硝。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留短蜕,地道東北人氢架。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像朋魔,于是被迫代替她去往敵國和親岖研。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 這一篇最主要是記錄下命令警检,方便以后查找 使用Mysql 創(chuàng)建數(shù)據(jù)庫 create database mysql_t...
    Treehl閱讀 576評論 0 0
  • MYSQL 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 7,790評論 5 116
  • https://www.toutiao.com/a6556743086267957763/MySQL的基本操作可以...
    liust15閱讀 464評論 0 1
  • MySQL基礎(chǔ)一上一節(jié)主要了解了MySQL數(shù)據(jù)庫的相關(guān)命令和數(shù)據(jù)庫中存儲的數(shù)據(jù)類型, 這一節(jié)主要是MySQL中對于...
    投降又不會贏閱讀 581評論 0 0
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時孙援,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,257評論 0 9