最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL的增刪查改語句用法示例總結(jié)

 更新時間:2015年05月07日 11:26:25   投稿:goldensun  
這篇文章主要介紹了MySQL的增刪查改語句用法示例總結(jié),是對MySQL學習的基本知識點的一個歸納,需要的朋友可以參考下

1.創(chuàng)建列
    

alter table tablename add colname type not null default '0′;

    例:

  alter table mmanapp_mmanmedia add appid_id integer not null default 372;

2.刪除列

  alter table tablename drop column colname;

    例:

  alter table mmanapp_mmanmedia drop column appid_id;

3.在已經(jīng)存在的列上創(chuàng)建外鍵關(guān)聯(lián)
    

ALTER TABLE yourtablename  ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)  REFERENCES tbl_name (index_col_name, …)  [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]  [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

    例:
   

ALTER TABLE mmanapp_mmanmedia ADD CONSTRAINT fk_mdappid FOREIGN KEY(appid_id)

4.刪除外鍵關(guān)聯(lián):

  ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;

    例:
   

 ALTER TABLE mmanapp_mmanmedia DROP FOREIGN KEY fk_mdappid

附文檔兩份:
一.mysql對列和表的相關(guān)操作

增加主鍵

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

增加一個新列

alter table infos add ex tinyint not null default '0′;

刪除列

alter table t2 drop column c;

重命名列/改變列類型

alter table t1 change a b integer;
alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0′;

重命名表

alter table t1 rename t2;

加索引

mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);

加主關(guān)鍵字的索引

mysql> alter table tablename add primary key(id);

加唯一限制條件的索引

mysql> alter table tablename add unique emp_name2(cardnumber);

刪除某個索引

mysql>alter table tablename drop index emp_name;

二.對表增/刪約束關(guān)系

InnoDB允許你用ALTER TABLE往一個表中添加一個新的 外鍵約束:

ALTER TABLE yourtablename
  ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)
  REFERENCES tbl_name (index_col_name, …)
  [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
  [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

記住先創(chuàng)建需要的索引。你也可以用ALTER TABLE往一個表添加一個自引用外鍵約束。
InnoDB也支持使用ALTER TABLE來移除 外鍵:

ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;

當年創(chuàng)建一個外鍵之時,如果FOREIGN KEY子句包括一個CONSTRAINT名字,你可以引用那個名字來移除 外鍵。另外,當外鍵被創(chuàng)建之時,fk_symbol值被InnoDB內(nèi)部保證。當你想要移除一個外鍵之時,要找出標記,請使用SHOW CREATE TABLE語句。例子如下:

mysql> SHOW CREATE TABLE ibtest11c\G
*************************** 1. row ***************************
    Table: ibtest11c
Create Table: CREATE TABLE ibtest11c (
 A int(11) NOT NULL auto_increment,
 D int(11) NOT NULL default '0′,
 B varchar(200) NOT NULL default ”,
 C varchar(175) default NULL,
 PRIMARY KEY (A,D,B),
 KEY B (B,C),
 KEY C (C),
 CONSTRAINT 0_38775 FOREIGN KEY (A, D)
REFERENCES ibtest11a (A, D)
ON DELETE CASCADE ON UPDATE CASCADE,
 CONSTRAINT 0_38776 FOREIGN KEY (B, C)
REFERENCES ibtest11a (B, C)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB CHARSET=latin1
1 row in set (0.01 sec)
 
mysql> ALTER TABLE ibtest11c DROP FOREIGN KEY 0_38775;

InnoDB解析程序允許你在FOREIGN KEY … REFERENCES …子句中用`(backticks)把表和列名名字圍起來。InnoDB解析程序也考慮到lower_case_table_names系統(tǒng)變量的設置。
InnoDB返回一個表的外鍵定義作為SHOW CREATE TABLE語句輸出的一部分:

SHOW CREATE TABLE tbl_name;

從這個版本起,mysqldump也將表的正確定義生成到轉(zhuǎn)儲文件中,且并不忘記 外鍵。
你可以如下對一個表顯示外鍵約束:

SHOW TABLE STATUS FROM db_name LIKE ‘tbl_name';

外鍵約束被列在輸出的Comment列。
當執(zhí)行外鍵檢查之時,InnoDB對它照看著的子或父記錄設置共享的行級鎖。InnoDB立即檢查外鍵約束,檢查不對事務提交延遲。
要使得對有外鍵關(guān)系的表重新載入轉(zhuǎn)儲文件變得更容易,mysqldump自動在轉(zhuǎn)儲輸出中包括一個語句設置FOREIGN_KEY_CHECKS為0。這避免在轉(zhuǎn)儲被重新裝載之時,與不得不被以特別順序重新裝載的表相關(guān)的問題。也可以手動設置這個變量:

mysql> SET FOREIGN_KEY_CHECKS = 0;
mysql> SOURCE dump_file_name;
mysql> SET FOREIGN_KEY_CHECKS = 1;

如果轉(zhuǎn)儲文件包含對外鍵是不正確順序的表,這就以任何順序?qū)朐摫?。這樣也加快導入操作。設置FOREIGN_KEY_CHECKS為0,對于在LOAD DATA和ALTER TABLE操作中忽略外鍵限制也是非常有用的。
InnoDB不允許你刪除一個被FOREIGN KEY表約束 引用的表,除非你做設置SET FOREIGN_KEY_CHECKS=0。當你移除一個表的時候,在它的創(chuàng)建語句里定義的約束也被移除。
如果你重新創(chuàng)建一個被移除的表,它必須有一個遵從于也引用它的外鍵約束的定義。它必須有正確的列名和類型,并且如前所述,它必須對被 引用的鍵有索引。如果這些不被滿足,MySQL返回錯誤號1005 并在錯誤信息字符串中指向errno 150。

相關(guān)文章

  • mysql設置遠程訪問數(shù)據(jù)庫的多種方法

    mysql設置遠程訪問數(shù)據(jù)庫的多種方法

    最近有一同學問我MySQL無法遠程訪問怎么呢,但能使用localhost來進行方法,下面腳本之家來給各位介紹一下解決辦法,需要的朋友可以參考下
    2013-10-10
  • MySQL?數(shù)據(jù)庫的對庫的操作及其數(shù)據(jù)類型

    MySQL?數(shù)據(jù)庫的對庫的操作及其數(shù)據(jù)類型

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫的對庫的操作及其數(shù)據(jù)類型,下面文字圍繞數(shù)據(jù)庫的對庫的操作及其數(shù)據(jù)類型的相關(guān)資料展開詳細介紹,需要的小伙伴可以參考一下,希望對你有所幫助
    2021-12-12
  • MySQL 超大表快速刪除方式

    MySQL 超大表快速刪除方式

    這篇文章主要介紹了MySQL 超大表快速刪除方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL 請選擇合適的列

    MySQL 請選擇合適的列

    如果你的表結(jié)構(gòu)設計不良或你的索引設計不佳,那么請你優(yōu)化你的表結(jié)構(gòu)設計和給予合適的索引,這樣你的查詢性能就能提高幾個數(shù)量級?!獢?shù)據(jù)越大,索引的價值越能體現(xiàn)出來
    2012-05-05
  • Mysql數(shù)據(jù)庫事務的臟讀幻讀及不可重復讀詳解

    Mysql數(shù)據(jù)庫事務的臟讀幻讀及不可重復讀詳解

    這篇文章主要為大家介紹了Mysql數(shù)據(jù)庫事務的臟讀幻讀及不可重復讀詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 分享8個不得不說的MySQL陷阱

    分享8個不得不說的MySQL陷阱

    這篇文章給大家分享8個不得不說的MySQL陷阱,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-03-03
  • Mysql5.6忘記root密碼修改root密碼的方法

    Mysql5.6忘記root密碼修改root密碼的方法

    這篇文章主要介紹了Mysql5.6忘記root密碼修改root密碼的方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • MySQL 5.7安裝后默認登錄密碼的查看方法

    MySQL 5.7安裝后默認登錄密碼的查看方法

    許多朋友安裝MySQL 5.7之后不知道默認登錄密碼在哪里查看,本文小編將通過代碼示例和圖文結(jié)合的方式給大家介紹MySQL 5.7安裝后默認登錄密碼的查看方法,需要的朋友可以參考下
    2023-12-12
  • Mysql binlog日志文件過大的解決

    Mysql binlog日志文件過大的解決

    本文主要介紹了Mysql binlog日志文件過大的解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 關(guān)于InnoDB索引的底層實現(xiàn)和實際效果

    關(guān)于InnoDB索引的底層實現(xiàn)和實際效果

    這篇文章主要介紹了關(guān)于InnoDB索引的底層實現(xiàn)和實際效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

尤溪县| 怀集县| 沛县| 奎屯市| 彝良县| 绥阳县| 托克托县| 永胜县| 山阳县| 彭水| 河津市| 阜宁县| 乳山市| 三台县| 安多县| 涞水县| 九江县| 河池市| 曲松县| 上思县| 雅江县| 莎车县| 都兰县| 麦盖提县| 乐亭县| 大化| 新闻| 阿克陶县| 青神县| 寿宁县| 沛县| 彩票| 永宁县| 宁远县| 浠水县| 新邵县| 宝山区| 读书| 五莲县| 呼图壁县| 上栗县|