激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL的增刪查改語句用法示例總結

MySQL的增刪查改語句用法示例總結

2020-05-05 16:34MYSQL教程網 Mysql

這篇文章主要介紹了MySQL的增刪查改語句用法示例總結,是對MySQL學習的基本知識點的一個歸納,需要的朋友可以參考下

1.創建列
    

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

    例:

?
1
alter table mmanapp_mmanmedia add appid_id integer not null default 372;

2.刪除列

?
1
alter table tablename drop column colname;

    例:

?
1
alter table mmanapp_mmanmedia drop column appid_id;

3.在已經存在的列上創建外鍵關聯
    

?
1
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}]

    例:
   

?
1
ALTER TABLE mmanapp_mmanmedia ADD CONSTRAINT fk_mdappid FOREIGN KEY(appid_id)

4.刪除外鍵關聯:

?
1
ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;

    例:
   

?
1
ALTER TABLE mmanapp_mmanmedia DROP FOREIGN KEY fk_mdappid

附文檔兩份:
一.mysql對列和表的相關操作

增加主鍵

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

增加一個新列

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

刪除列

?
1
alter table t2 drop column c;

重命名列/改變列類型

?
1
2
3
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′;

重命名表

?
1
alter table t1 rename t2;

加索引

?
1
2
3
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);

加主關鍵字的索引

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

加唯一限制條件的索引

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

刪除某個索引

?
1
mysql>alter table tablename drop index emp_name;

二.對表增/刪約束關系

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

?
1
2
3
4
5
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往一個表添加一個自引用外鍵約束。
InnoDB也支持使用ALTER TABLE來移除 外鍵:

?
1
ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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系統變量的設置。
InnoDB返回一個表的外鍵定義作為SHOW CREATE TABLE語句輸出的一部分:

?
1
SHOW CREATE TABLE tbl_name;

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

?
1
SHOW TABLE STATUS FROM db_name LIKE ‘tbl_name';

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

?
1
2
3
mysql> SET FOREIGN_KEY_CHECKS = 0;
mysql> SOURCE dump_file_name;
mysql> SET FOREIGN_KEY_CHECKS = 1;

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品99在线视频 | 日本一区二区免费在线播放 | 一级做a爱片久久毛片a高清 | 欧美日韩影视 | 亚洲免费在线看 | 久久久久成人精品亚洲国产 | 中文黄色一级片 | 一级在线| 久久久久久久久久亚洲精品 | 青青久在线视频 | 一级黄色在线观看 | 国产精品伦视频看免费三 | 成人午夜免费国产 | 深夜影院a| 蜜桃精品视频在线观看 | 久久久精品精品 | 国产精品一区二区日韩 | 中文字幕精品一区久久久久 | 国产亚洲精品久久久久久久软件 | 亚洲国产成人一区 | 成人性生活视频在线播放 | 国产精品嘿咻嘿咻在线播放 | 92自拍视频| 国产91精品久久久 | 免费观看高清视频网站 | 在线a亚洲视频播放在线观看 | 亚洲特黄妇女高潮 | 在线播放av片 | 色播视频在线播放 | 狠狠操人人干 | 久久国产成人精品国产成人亚洲 | 成人男女视频 | 国产影视 | 日本一级黄色大片 | 国产亚洲福利 | 在线成人免费观看视频 | 成年人免费视频播放 | 久久最新免费视频 | 综合网天天射 | 黄色片快播 | 精品国产91久久久久久浪潮蜜月 |