1. 程式人生 > >mysql約束和修改資料表

mysql約束和修改資料表

FOREIGN KEY(外來鍵約束)要求:
1.父表子表必須使用相同的儲存引擎,而且禁止使用臨時表。
2.資料表的儲存引擎只能為INNODB.
3.外來鍵列於參照列必須具有相似的資料型別。數字長度和是否有符號位必須相同;
字元的長度可以不同。
4.外來鍵列和參照列必須建立索引。如果外來鍵列不存在索引,mysql將自動建立索引。


外來鍵約束的參照操作:
1.CASCADE:從父表刪除或更新且自動刪除或更新子表中的匹配的行
2.SET NULL: 從父表刪除或更新行,並設定子表的外來鍵列為NULL。如果使用該
選項,必須保證子表列沒有指定NOT NULL
3.RESTRICT:拒絕對父表的刪除或更新操作。
4.NO ACTION:標準的SQL的關鍵字,在mysql中與RESTRICT相同。


表級約束和列級約束:
對一個數據列建立的約束,是列級約束,
對多個數據列建立的約束,是表級約束,
列級約束可以在列定義時宣告,也可以在列定義後宣告。
表級約束只能在列定義後宣告。


修改資料表:
1.新增單列:ALTER TABLE tb1_name ADD [COLUMN] col_name column_definition[FIRST|            AFTER col_name]
2.新增多列:ALTER TABLE tb1_name ADD [COLUMN] col_name column_definition,...
3.刪除列:ALTER TABLE tb1_name DROP [COLUMN] col_name 
4.新增主鍵約束:ALTER TABLE tb1_name ADD[CONSTRAINT[symbol]]
                PRIMARY KEY[index_type](index_col_name,...)
5.新增唯一約束:ALTER TABLE tb1_name ADD[CONSTRAINT[symbol]]
                UNIQUE [INDEX|KEY] [index_name] [index_type]               (index_col_name,...)
6.新增外來鍵約束:ALTER TABLE tb1_name ADD[CONSTRAINT[symbol]]
                FOREIGN KEY[index_type](index_col_name,...)
reference_definition
7.新增/刪除預設約束:ALTER TABLE tb1_name ALTER[COLUMN] col_name
   {AET DEFAULT literal|DROP DEFAULT}
8.刪除主鍵約束:ALTER TABLE tb1_name DROP PRIMARY KEY
9.刪除唯一約束: ALTER TABLE tb1_name DROP index_name
10.刪除外來鍵約束:ALTER TABLE tb1_name DROP  FOREIGN KEY fk_symbol
11.修改列定義: ALTER TABLE tb1_name MODIFY [COLUMN] col_name
colcumn_definition [FIRST|AFTER col_name]
12.修改列的名稱:ALTER TABLE tb1_name CHANGE [COLUMN] old_col_name
        new_col_name colcumn_definition [FIRST|AFTER col_name]
13.資料表更名:方法一:ALTER TABLE tb1_name RENAME new_tb2_name
      方法二:RENAME TABLE tb1_name TO new_tb2_name

相關推薦

mysql約束修改資料

FOREIGN KEY(外來鍵約束)要求: 1.父表子表必須使用相同的儲存引擎,而且禁止使用臨時表。 2.資料表的儲存引擎只能為INNODB. 3.外來鍵列於參照列必須具有相似的資料型別。數字長度和是否有符號位必須相同; 字元的長度可以不同。 4.外來鍵列和參照列必須建立索

MySQL 約束修改資料

1.     FOREIGN KEY(外來鍵約束):保持資料的一致性,完整性。實現資料表的一對一,一對多的關係。 a)     父表(子表所參照的表)和子表(具有外來鍵列的表)必須使用相同的儲存引擎,

mysql約束以及修改資料

約束型別 包括;NOT NULL(非空約束)PRIMARY KEY(主鍵約束,只能有一個)UNIQUE KEY (唯一約束,可以有多個)DEFAULT (預設約束)FOREGIN KEY(外來鍵約束)其中外來鍵列和參照了必須具有相似的資料型別,其中數字長度或是否有符號位都必須

MySQL--約束修改數據總結

分享 cnblogs 總結 -- logs images http 修改 mysql MySQL--約束和修改數據表總結

Mysql值之約束以及修改資料

unsigned:這裡約束的意思是沒符號,不能為負數,只能是整數 建立外來鍵約束的表格 提示: 給表新增外來鍵約束的時候,外來鍵列和參照列必須的型別必須一致,就好比上圖的中的兩個表格的型別都是int,但是當我們的父表的型別是smallint,而子表的型別是bigint,這樣也是會

MySQL(3)約束以及修改資料

MySQL外來鍵約束的要求解析 約束 1.保證資料的完整性和一致性。 2.分為表級約束和列級約束 3.約束型別包括: NOT NULL(非空約束) PRIMARY KEY(主鍵約束) UNIQUE K

【轉】《與MySQL的零距離接觸》第三章:約束以及修改資料 (3-7:MySQL 修改資料–刪除約束

3-7:MySQL 修改資料表–刪除約束 一. 前言 上一節最後我們講到了刪除預設約束,本節我們來講解刪除主鍵約束和唯一約束以及外來鍵約束 二. 刪除主鍵約束 刪除主鍵約束的語法結構: ALTER TABLE tbl_name DROP PRI

MySQL ALTER命令-修改資料名或者修改資料表字段

需要修改資料表名或者修改資料表字段時,就需要使用到MySQL ALTER命令。 刪除,新增或修改表字段 如下命令使用了 ALTER 命令及 DROP 子句來刪除表的 i 欄位: ALTER TABLE testalter_tbl DROP i; 如果資料表中只剩餘一個欄位則無法使用DROP

約束修改資料

外來鍵約束 查詢表中索引:SHOW INDEXES FROM tbl_name[\G];   \G的作用是以表格顯示 刪除表中記錄:DELETE FROM tbl_name WHERE id=3; 外

MySQL--修改資料6:修改列定義更名資料

修改列定義和更名資料表把某一列移動到指定位置:ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; // 末尾也可加 (AFTER 列名) 放在某一列之後修改某一列的定義型別:ALTER TABLE us

MySQL入門——修改資料4:新增主鍵約束、顯示錶結構、新增唯一約束

這裡的新增主鍵約束、新增唯一約束,指的是列級約束,是在資料表建立以後再新增的。 例如,給user3表中的id欄位新增主鍵約束: ALTER TABLE user3 ADD PRIMARY KE

MYSQL資料庫(八)- 修改資料新增約束

本章目錄 新增約束目錄 一、新增id列,無主鍵無約束,準備工作 二、給city2表新增主鍵約束(任何一張表只能有一個主鍵) 三、新增唯一約束 四、新增外來鍵約束 五、新增和/刪除預設約束 刪除約束目錄 一、刪除主鍵約束

MySQL 增加修改的欄位

#刪除一個表 DROP TABLE IF EXISTS [表名] DROP TABLE IF EXISTS new_table; #增加一個欄位 ALTER TABLE [表名] ADD [欄位名] [欄位型別] [是否為空]; ALTER TABLE table_name ADD

php 在同一個單中新增修改資料

好吧,其實我這人不看重訪問量的,但是今天一天的訪問量比我去年發的一篇還要多. 我還是有點小小的驚訝的.作為一個做技術的屌絲.不,我不認為自己是屌絲,我覺得程式設計是一件高大山的職業.雖然很累,但是確實能讓你每天的生活很充實. No matter whether you be

mysql約束修改刪除

如圖為我們要執行操作的表: 刪除主鍵約束:ALTER TABLE table_name DROP PRIMARY KEY; 嘗試刪除主鍵失敗,原因為含有auto_increment(自增屬性),此

MYSQL資料庫(九)- 修改資料名稱、列名稱

目錄 一、修改列定義(modify col_name) 二、修改列型別(modify col_name) 三、修改列名稱(change col_name) 三、修改表名稱(rename table a to b) 用到的語句 a、修改

解決elementUI資料新增修改資料混亂

需求是:初期化一個table列表,可以對table列表資料進行新增和修改,點選新增和修改時彈出窗體,窗體繫結的資料是form裡的Model,開始的時候點選新增是可以的,後臺獲取前臺的資料是沒有id主鍵的,但是當點選修改的時候,因為把主鍵id賦值給了form表單,導致點選新增後

Mysql修改資料的操作

1,建立資料表 CREATE TABLE [IF NOT EXISTS] table_name(     column_name data_type,     .... ) 2,檢視有哪些資料表 SHOW TABLES [FROM db_name] [LIKE 'patt

MySQL修改資料儲存引擎的3種方法介紹

MySQL作為最常用的資料庫,經常遇到各種各樣的問題。今天要說的就是表儲存引擎的修改。有三種方式,列表如下。 1.真接修改。在資料多的時候比較慢,而且在修改時會影響讀取效能。my_table是操作的表,innoDB是新的儲存引擎。 ALTER TABLE my_table

MySQL入門——修改資料2:往指定的中新增多列資料(欄位)

增加多列,多個列的定義與宣告需要用小括號括起來,每個欄位之間用逗號隔開。 例如,往user2表中一次性新增2三個欄位salary、sex、address欄位,寫法如下: ALTER TABLE