1. 程式人生 > >mysql約束之修改和刪除

mysql約束之修改和刪除

如圖為我們要執行操作的表:

刪除主鍵約束ALTER TABLE table_name DROP PRIMARY KEY;

嘗試刪除主鍵失敗,原因為含有auto_increment(自增屬性),此屬性只有在欄位為主鍵時才能生效,所以我們先刪除自增屬性,然後再刪除主鍵約束,操作成功,如圖所示:

新增主鍵約束:ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_column_name);


新增唯一約束:ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name]

[index_type] (index_column_name);


刪除唯一約束:ALTER TABLE table_name DROP [INDEX|KEY] index_name;


修改預設約束:ALTER TABLEtb_name ALTER col_name SET DEFAULT default_vaule;


刪除預設約束:ALTER TABLE tb_name MODIFY col_name col_defination;


新增非空約束:ALTER TABLE tb_name MODIFY col_name col_defination;


刪除外來鍵約束:ALTER TABLE lulu MODIFY col_name col_defination;


新增外來鍵約束:ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FROEIGN KEY [index_name] (index_column_name) reference_definition


刪除外來鍵約束:ALTER TABLE tb_name DROP FOREIGN KEY constraint_name;


刪除外來鍵要先使用語句:SHOW CREATE TABLE tb_name;檢視外來鍵約束的名稱,然後刪除此外來鍵約束。

可以看到:非空約束和預設約束的修改都是通過MODIFY語句修改列定義的方式來執行的,所以對列定義的所有修改都可以通過MODIFY語句來實現。

當然,修改列名是不能通過MODIFY語句實現的,可以通過 CHANGE col_old_name col_new_name col_defination 來實現,在此就不再演示了,試試哦。

分享技術,共同進步,構建美好生活。

相關推薦

mysql約束修改刪除

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

MYSQL約束的新增刪除

在MYSQL資料庫中,建表時就可以進行對錶的各項進行一些操作,例如設定主鍵或者非空約束,這裡主要講講如何在建表後進行新增約束和刪除約束 首先,建一個十分普通的表 create table test(test_no char(10),test_point int, test_student ch

MySQL-建立、修改刪除

表是資料庫儲存資料的基本單位。一個表包含若干個欄位或記錄。表的操作包括建立新表、修改表和刪除表,這些操作都是資料庫管理中最基本、也是最重要的操作。 建立表 建立表是在已存在的資料庫中建立新表。 建立表的語法格式 MySql中,建立表是通過SQL語句create table

MySQL:創建、修改刪除

rop ont ... rst incr arc bigint 第一個 desc 1.創建數據庫:CREATE DATABASE 數據庫名;  刪除數據庫:DROP DATABASE 數據庫名;  查看數據庫編碼:SHOW CREATE DATABASE 數據庫名;

用java實現對MySql資料庫中資料的讀取、插入、修改刪除

目標: 1、實現eclipse同資料庫的連線 2、在eclipse中用java實現對資料庫的控制 初學java和資料庫,本文是參考這篇文章的思路的學習筆記,程式碼實現了將4個控制函式(讀取、插入、修改和刪除)分別寫成4個靜態方法呼叫。 1. 關於java和MySQL的連

MySQL知識(十五)——儲存過程的呼叫、檢視、修改刪除

2 呼叫儲存過程   儲存過程必須使用CALL語句呼叫,並且儲存過程和資料庫相關,如果要執行其他資料庫中的儲存過程,需要指定資料庫名稱,例如CALL dbname.procname。儲存函式的呼叫與MySQL中預定義的函式的呼叫方式相同。   呼叫儲存過程示

web前端Ajax遍歷json後對每一條資料進行相應的修改刪除

web前端之ajax遍歷json後對每一條資料進行相應的修改和刪除 function serviceUser(){ $('.ergodicPersonList').remove(); $.ajax({ url: "/b

任務調度開源框架Quartz動態添加、修改刪除定時任務

star play cit box sport nts str ignorecas tar 作者:Joyce-Luo Quartz 是個開源的作業調度框架,為在 Java 應用程序中進行作業調度提供了簡單卻強大的機制。Quartz框架包含了調度器監聽、

Linux中添加、修改刪除用戶用戶組

tty live 參數 項目 AR 格式 沒有 CA bin 寬為限 緊用功 功夫到 滯塞通 一、用戶: 在創建用戶時,需要為新建用戶指定一用戶組,如果不指定其用戶所屬的工作組,自動會生成一個與用戶名同名的工作組。創建用戶user1的時候指定其所屬工作組users,例:

一、MySQL資料庫簡介安裝

一、基礎部分 1.資料庫是簡介     之前所學,資料要永久儲存,比如使用者註冊的使用者資訊,都是保存於檔案中,而檔案只能存在於某一臺機器上。 如果我們不考慮從檔案中讀取資料的效率問題,並且假設我們的程式所有的元件都執行在一臺機器上,那麼用檔案存

StringBuffer 的功能新增刪除 StringBuilder

1.StringBuffer 是字串緩衝區,是一個容器。是一個執行緒安全的可變序列 2.功能 CURD create update read delete 特點:(當資料型別不確定,最後都要變成字串的時候) 1.長度是可以變化的, 2.可以一次操作多個數據型別 3.最終可以通過toStrin

MYSQL觸發器的檢視刪除

圖 | 自制 文 | 挨踢小子 ——此文僅代表個人學習所得,歡迎閱覽 如有侵權,請私信刪除 檢視觸發器: 檢視觸發器,是指檢視資料庫中以及存在的觸發器的定義、狀態、和語法資訊等,可以通過命令來檢視已經建立的觸發器。 方法:&nbs

php+mysql簡單的新增刪除小案例

1.分析 index.php是呈現列表,通過點選列表頁上的新增和刪除按鈕,對列表頁上面的進行操作 index.php TODO:要將資料庫裡面的內容呈現到頁面中 (1)連線資料庫 (2)查詢資料 (3)混編 <?php //連線資料庫 $connectio

mysql定時備份資料庫刪除N天前資料庫備份

前提,這裡使用 Ubuntu 16.04.4。 mysql定時備份數資料庫: 1.建立備份資料夾和指令碼檔案: mkdir -p /home/mysql_backup/ touch /home/mysql_backup/mysql_backup.sh 2.編輯指令碼檔案(m

Hive的DDL資料定義(二)表的修改刪除

重命名錶 語法 ALTER TABLE table_name RENAME TO new_table_name 案例 hive (hive)> alter table dept_partition2 rename to dept_partition3;

MySQL 新增、更新刪除資料

一、新增資料 在MySQL中使用INSERT新增資料分為: 為表中所有欄位新增資料 為表的指定欄位新增資料 同時新增多條資料 1.為表中所有欄位新增資料 使用insert的MySQL語句為: INSERT INTO 表名(欄位名1,欄位名2,,,,,欄位名

機房收費系統新增刪除使用者

前言 剛開始敲此窗體時,頭就開始暈了,因為覺得自己啥也不會,覺得這個還挺難的,其實主要還是抗拒產生難。不過還是應徵了魯迅先生說的那句話:有些路走著走著就有了。 流程 因為沒有拷流程圖,所以我基本上是手動輸入的。具體如下:使用者級別點選事件,連線資料庫,更新至MSFlexGri

mysql筆記修改

資料庫 資料型別 建立表 MariaDB [oldboy]> CREATE TABLE student(sid INT,sname VARCHAR(20),sage TINYINT,sgender ENUM('m','f'),scomtime DATET

mongodb修改刪除操作

修改資料修改裡面還有查詢條件。你要該誰,要告訴 mongo。查詢名字叫做小明的,把年齡更改為 16 歲:1 db.student.update({"name":"小明"},{$set:{"age":16}});查詢數學成績是 70,把年齡更改為 33 歲: 1 db.student.update({"sco

實驗三 表資料的插入、修改刪除

1、  開啟資料庫YGGL; Use yggl;   2、  向Employees表中插入一條記錄:000001 王林 大專 1966-01-23  1  8  中山路32-1-508  83355668  2; In