欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中一些常用的數(shù)據(jù)表操作語句筆記

 更新時(shí)間:2016年03月31日 15:29:24   作者:GALAXY_ZMY  
這篇文章主要介紹了MySQL中一些常用的數(shù)據(jù)表操作語句筆記,其中重點(diǎn)講解了刪除關(guān)聯(lián)表的方法,需要的朋友可以參考下

0.創(chuàng)建表

CREATE TABLE 表名 (屬性名 數(shù)據(jù)類型 [完整性約束條件],
屬性名 數(shù)據(jù)類型 [完整性約束條件],
屬性名 數(shù)據(jù)類型 [完整性約束條件])

“完整性約束條件”是指指定某些字段的某些特殊約束條件。
在使用CREATE TABLE創(chuàng)建表時(shí)首先要使用USE語句選擇數(shù)據(jù)庫。比如有個(gè)example數(shù)據(jù)庫,用USE EXAMPLE選擇這個(gè)數(shù)據(jù)庫。
表名不能用SQL的關(guān)鍵字,如create,update等,字母不區(qū)分大小寫。
下面是一個(gè)創(chuàng)建表的例子:

create table example(id int, name varchar(20), sex boolean);

上例創(chuàng)建了example表,有三個(gè)字段,id整型,name字符串型,sex布爾型。
完整性約束條件是對(duì)字段進(jìn)行限制。如果不滿足完整性約束條件,數(shù)據(jù)庫系統(tǒng)將不執(zhí)行用戶的操作,保護(hù)了數(shù)據(jù)庫中數(shù)據(jù)的完整性。
下面是完整性約束條件:

  • PRIMARY KEY 標(biāo)識(shí)該屬性為該表的主鍵,可以唯一的標(biāo)識(shí)對(duì)應(yīng)的元組
  • FOREIGN KEY 標(biāo)識(shí)該屬性為該表的外鍵,是與之聯(lián)系的某表的主鍵
  • NOT NULL 標(biāo)識(shí)該屬性不能為空
  • UNIQUE 標(biāo)識(shí)該屬性的值是唯一的
  • AUTO_INCREMENT 標(biāo)識(shí)該屬性的值自動(dòng)增加
  • DEFAULT 為該屬性設(shè)置默認(rèn)值

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

describe 表名

describe可簡寫為desc。
describe語句可以查看表的基本的定義。包括字段名field,字段數(shù)據(jù)類型type,是否為空null,是否為主外鍵key,默認(rèn)值default和額外信息extra。

2.查看表詳細(xì)結(jié)構(gòu)

show create table 表名

show create table 表名 \G

\G增強(qiáng)顯示可查看性

show create table

 語句可以查看表字段,各字段數(shù)據(jù)類型,完整性約束條件,標(biāo)的存儲(chǔ)引擎,字符編碼等.

3.修改表名

alter table 舊表名 rename [to] 新表名;

4.修改字段的數(shù)據(jù)類型

alter table 表名 modify 屬性名 數(shù)據(jù)類型;

5.修改字段名

alter table 表名 change 舊屬性名 新屬性名 新數(shù)據(jù)類型;

舊屬性名參數(shù)指修改前的字段名,新屬性名參數(shù)指修改后的字段名,如果不指定數(shù)據(jù)類型則數(shù)據(jù)類型不變。

6.增加字段

alter table 表名 add 屬性名1 數(shù)據(jù)類型 [完整性約束條件] [first] after 屬性名2;

first可選項(xiàng)指此字段為表的第一個(gè)字段,after 屬性名2指放在指定字段后面,默認(rèn)最后一位。

7.刪除字段

alter table 表名 drop 屬性名;

8.刪除關(guān)聯(lián)表
(1)刪除表的外鍵約束
外鍵是一個(gè)特殊字段,其將某一個(gè)表與其父表建立關(guān)聯(lián)關(guān)系。在創(chuàng)建表的時(shí)候,外鍵約束就已經(jīng)設(shè)定好了。去掉他們之間的關(guān)聯(lián)關(guān)系需要用到下面語句。

alter table 表名 drop foreign key 外鍵別名;

外鍵別名參數(shù)指創(chuàng)建表時(shí)設(shè)置的外鍵代號(hào)。

(2)刪除沒有被關(guān)聯(lián)的普通表

drop table 表名;

刪除一個(gè)表時(shí),表中的所有數(shù)據(jù)也會(huì)被刪除。刪除表時(shí)最好先將表中的數(shù)據(jù)備份一下。

(3)刪除被其他表關(guān)聯(lián)的父表
當(dāng)刪除有關(guān)聯(lián)關(guān)系的表時(shí),用drop table example1 會(huì)報(bào)錯(cuò),原因是有外鍵依賴于該表

例如創(chuàng)建了一個(gè)example4表依賴于example1表,example4表的外鍵stu_id依賴于example1表的主鍵。example1表時(shí)example4表的父表。

如果要?jiǎng)h除example4表,必須先去掉這種依賴關(guān)系。最簡單的辦法是先刪除子表example4,然后刪除父表example1。但這樣可能會(huì)影響子表的其他數(shù)據(jù)。

另一種方法是先刪除子表的外鍵約束,然后刪除父表。這種方法不會(huì)影響子表的其他數(shù)據(jù),可以保證數(shù)據(jù)庫的安全。

比如,example4表的外鍵別名是d_fk,刪除example4的外鍵約束

alter table example4 drop foreign key d_fk; 

可以通過show create table example4 \G來查看是否已刪除。
然后再執(zhí)行

drop table example1; 

.
執(zhí)行成功則表示操作成功。

相關(guān)文章

  • SQL-?join多表關(guān)聯(lián)問題

    SQL-?join多表關(guān)聯(lián)問題

    這篇文章主要介紹了SQL-?join多表關(guān)聯(lián)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-12-12
  • win7下mysql5.7.17安裝配置方法圖文教程

    win7下mysql5.7.17安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了win7下mysql5.7.17安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • MySQL優(yōu)化常用的19種有效方法(推薦!)

    MySQL優(yōu)化常用的19種有效方法(推薦!)

    關(guān)于數(shù)據(jù)庫優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,有些總結(jié)的不夠到位,內(nèi)容冗雜,下面這篇文章主要給大家介紹了關(guān)于MySQL優(yōu)化常用的19種有效方法,需要的朋友可以參考下
    2022-03-03
  • MySQL分區(qū)之LIST分區(qū)詳解

    MySQL分區(qū)之LIST分區(qū)詳解

    mysql分區(qū)之LIST分區(qū)講解?MySQL中的LIST分區(qū)在很多方面類似于RANGE分區(qū),下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)之LIST分區(qū)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 如何恢復(fù)Mysql數(shù)據(jù)庫的詳細(xì)介紹

    如何恢復(fù)Mysql數(shù)據(jù)庫的詳細(xì)介紹

    這里說的MySql恢復(fù)數(shù)據(jù)庫,是指沒有通過正常備份的情況下,通過Mysql保存的數(shù)據(jù)文件如何恢復(fù)數(shù)據(jù)庫
    2013-09-09
  • mysql把一段數(shù)據(jù)變成一個(gè)臨時(shí)表

    mysql把一段數(shù)據(jù)變成一個(gè)臨時(shí)表

    這篇文章主要介紹了mysql把一段數(shù)據(jù)變成一個(gè)臨時(shí)表,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • MySQL按時(shí)間拆分千萬級(jí)大表的實(shí)現(xiàn)代碼

    MySQL按時(shí)間拆分千萬級(jí)大表的實(shí)現(xiàn)代碼

    這篇文章主要介紹了MySQL按時(shí)間拆分千萬級(jí)大表,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • MySQL 處理插入過程中的主鍵唯一鍵重復(fù)值的解決方法

    MySQL 處理插入過程中的主鍵唯一鍵重復(fù)值的解決方法

    本篇文章主要介紹在插入數(shù)據(jù)到表中遇到鍵重復(fù)避免插入重復(fù)值的處理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • Linux下mysql源碼安裝筆記

    Linux下mysql源碼安裝筆記

    這篇文章主要為大家分享了Linux下mysql源碼安裝筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 一文帶你搞懂MySQL的事務(wù)隔離級(jí)別

    一文帶你搞懂MySQL的事務(wù)隔離級(jí)別

    這篇文章主要給大家介紹了MySQL事務(wù)隔離級(jí)別,事務(wù)隔離級(jí)別分別是讀未提交,讀已提交,可重復(fù)讀,串行化,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下
    2023-07-07

最新評(píng)論