日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...

發(fā)布時(shí)間:2025/3/21 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(1)創(chuàng)建數(shù)據(jù)庫

CREATE DATABASES 數(shù)據(jù)庫名;

(2)選擇數(shù)據(jù)庫

USE 數(shù)據(jù)庫名;

(3)刪除數(shù)據(jù)庫

DROP DATAVBASE 數(shù)據(jù)庫名;

(4)創(chuàng)建表

CREATE TABLE IF NOT NULL EXISTS 表名

(

字段1 數(shù)據(jù)類型 【字段屬性|約束|索引|注釋】, ............. );

(5)字段的約束及屬性

CREATE TABLE IF NOT NULL 表名

(

字段1 數(shù)據(jù)類型 PRIMARY KEY ,//單字段主鍵

.........

);

多字段聯(lián)合主鍵:

CREATE TABLE IF NOT NULL 表名

(

字段1 數(shù)據(jù)類型 ,

字段2 數(shù)據(jù)類型

PRIMARY KEY (字段1,字段2)//多聯(lián)合復(fù)合主鍵

);

(6)注釋:

CREATE TABLE TEXT

(

`id` int(11) UNSIGNED COMMENT'編號'

)COMMENT'測試表';

(7)編碼格式設(shè)置

CREATE TABLE TEXT

(

`id` int(11) UNSIGNED COMMENT'編號'

)CHARSET=字符集名;

(8)查看表:SHOW TABLES;

(9)查看表定義: DESCRIBE 表名;或 DESC 表名;

如果是在DOC窗口下執(zhí)行,最好先執(zhí)行 SET NAMES gbk;避免產(chǎn)生亂碼

(10) 刪除表:

DROP TABLE IF EXISTS 表名;

(11)查看默認(rèn)存儲引擎

SHOW VARIABLES LIKE `storage_engine%`;

(12) 指定表的存儲引擎

CREATE TANLE 表名(#省略代碼)ENGINE=存儲引擎;

常用引擎:InnoDB 和 MyISAM

安裝板MySQL5.5默認(rèn)存儲引擎是InnoDB

(1)mysql中replace函數(shù)直接替換mysql數(shù)據(jù)庫中某字段中的特定字符串

UPDATE `ts_weibo` SET

`weibo_id` = replace (`weibo_id`,'19782687','14204277'),

`uid` = replace (`uid`,'19782687','14204277'),

.....

WHERE

`weibo_id` LIKE '%19782687%' or

`uid` LIKE '%19782687%'

(2)非空約束(NOT NULL)

添加非空約束

1)建表時(shí)直接添加

CREATE TABLE t_user(user_id INT(10) NOT NULL);

2)通過ALTER 語句

ALTER TABLE t_user MODIFY user_id INT(10) NOT NULL;

ALTER TABLE t_user CHANGE user_id user_id INT(10) NOT NULL;

刪除非空約束

1)ALTER TABLE t_user MODIFY user_id INT(10);

2)ALTER TABLE t_user CHANGE user_id user_id INT(10);

(3) 刪除主鍵和唯一約束:

在mysql中刪除主鍵需要兩步

(1)如果有auto_increment自增,先刪除之;

(2)刪除主鍵約束 primary key.

首先要?jiǎng)h除auto_increment語法如下:

alter table 表名 modify id int(11);

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型。

下一步就是刪除主鍵:語法如下:

alter table 表名 drop primary key;

(3.1)添加唯一約束

1)建表時(shí)直接添加

CREATE TABLE t_user(user_id INT(10) UNIQUE);

CREATE TABLE t_user(

user_id INT(10),

user_name VARCHAR(30),

CONSTRAINT UN_PHONE_EMAIL UNIQUE(user_id,user_name)#復(fù)合約束

);

CREATE TABLE t_user(

user_id INT(10),

UNIQUE KEY(user_id)

);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) UNIQUE;

ALTER TABLE t_user CHANGE user_id user_id INT(10) UNIQUE;

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型。

ALTER TABLE t_user ADD UNIQUE(user_id);

ALTER TABLE t_user ADD UNIQUE KEY(user_id);

ALTER TABLE t_user ADD CONSTRAINT UN_ID UNIQUE(user_id);

ALTER TABLE t_user ADD CONSTRAINT UN_ID UNIQUE KEY(user_id);

刪除唯一性約束

ALTER TABLE t_user DROP INDEX user_id;//指定要?jiǎng)h除的字段名稱

ALTER TABLE `a` DROP INDEX UN_Name ;//指定要?jiǎng)h除的索引名稱

注:唯一但是可以為空(空和空不相等)

(4)PRIMARY KEY(主鍵約束)

1)建表時(shí)直接添加

CREATE TABLE text(`user_id` INT(10) PRIMARY KEY);

CREATE TABLE `text`(

`user_id` INT(10),

`user_name` VARCHAR(30),

CONSTRAINT PK_ID_NAME PRIMARY KEY(user_id,user_name)#復(fù)合約束

);

CREATE TABLE `text`(

`user_id` INT(10),

PRIMARY KEY(user_id)

);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) PRIMARY KEY;

ALTER TABLE t_user CHANGE user_id user_id INT(10) PRIMARY KEY;

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型。

ALTER TABLE text ADD CONSTRAINT pk_textId PRIMARY KEY `text`(`textId`);

3)刪除主鍵約束

ALTER TABLE `text` DROP PRIMARY KEY

(5)FOREIGN KEY(外鍵約束)

首先創(chuàng)建兩張表:A,B

從表A

CREATE TABLE `A`

(

`textId` INT PRIMARY KEY,

`textId1` INT(30),

`textName` NVARCHAR(30)

CONSTRAINT FK_A_B FOREIGN KEY(`textId1`) REFERENCES `b`(`textId1`)#添加外鍵約束

);

主表B

CREATE TABLE `B`

(

`textId1` INT PRIMARY KEY,

`textName` NVARCHAR(30)

);

另外一種寫法:

ALTER TABLE `a` ADD CONSTRAINT fk_a_b FOREIGN KEY (`textId1`) REFERENCES `b`(`textId1`);

刪除外鍵約束:

第一步:

ALTER TABLE `a` DROP FOREIGN KEY fk_a_b;

第二部:

DROP INDEX fk_a_b ON `a`;

注意事項(xiàng):

刪除外鍵約束的時(shí)候需要先刪除外鍵約束,在刪除索引才可以

#外鍵中的級聯(lián)關(guān)系有以下幾種情況:

#ON DELETE CASCADE 刪除主表中的數(shù)據(jù)時(shí),從表中的數(shù)據(jù)隨之刪除

#ON UPDATE CASCADE 更新主表中的數(shù)據(jù)時(shí),從表中的數(shù)據(jù)隨之更新

#ON DELETE SET NULL 刪除主表中的數(shù)據(jù)時(shí),從表中的數(shù)據(jù)置為空

#默認(rèn) 刪除主表中的數(shù)據(jù)前需先刪除從表中的數(shù)據(jù),否則主表數(shù)據(jù)不會被刪除

CREATE TABLE students(

stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

stu_name VARCHAR(30) NOT NULL,

stu_score FLOAT(5,2) DEFAULT 0.0,

cla_id INT(10),

CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON DELETE CASCADE

);

CREATE TABLE students(

stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

stu_name VARCHAR(30) NOT NULL,

stu_score FLOAT(5,2) DEFAULT 0.0,

cla_id INT(10),

CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON UPDATE CASCADE

);

CREATE TABLE students(

stu_id INT(10) AUTO_INCREMENT PRIMARY KEY,

stu_name VARCHAR(30) NOT NULL,

stu_score FLOAT(5,2) DEFAULT 0.0,

cla_id INT(10),

CONSTRAINT FK_CLA_ID FOREIGN KEY(cla_id) REFERENCES class(cla_id) ON DELETE SET NULL

);

注:插入數(shù)據(jù)時(shí),先插入主表中的數(shù)據(jù),再插入從表中的數(shù)據(jù)。刪除數(shù)據(jù)時(shí),先刪除從表中的數(shù)據(jù),再刪除主表中的數(shù)據(jù)

(6)AUTO_INCREMENT(自增長)

1)在創(chuàng)建表的時(shí)候添加

CREATE TABLE t_user(user_id INT(10) AUTO_INCREMENT PRIMARY KEY);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) AUTO_INCREMENT;

ALTER TABLE t_user CHANGE user_id user_id INT(10) AUTO_INCREMENT;

刪除自增長

ALTER TABLE t_user MODIFY user_id INT(10);

ALTER TABLE t_user CHANGE user_id user_id INT(10);

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型。

注意:每張表只能有一列自增列

(7)DEFAULT(默認(rèn))

1)在創(chuàng)建表的時(shí)候添加

CREATE TABLE t_user(user_id INT(10) DEFAULT 3);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) DEFAULT 2;

ALTER TABLE t_user CHANGE user_id user_id INT(10) DEFAULT 2;

刪除默認(rèn)約束

ALTER TABLE t_user MODIFY user_id INT(10);

ALTER TABLE t_user CHANGE user_id user_id INT(10);

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型。

(8)UNSIGNED(無符號位)

1)在創(chuàng)建表的時(shí)候添加

CREATE TABLE t_user(user_id INT(10) UNSIGNED);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) UNSIGNED;

ALTER TABLE t_user CHANGE user_id user_id INT(10) UNSIGNED;

刪除無符號

ALTER TABLE t_user MODIFY user_id INT(10);

ALTER TABLE t_user CHANGE user_id user_id INT(10);

注意事項(xiàng):

這里用的modify,只改變數(shù)據(jù)類型,也可以用change,

改變列名的同時(shí)輸入新的數(shù)據(jù)類型

無符號作用于數(shù)值類型

(9)ZEROFILL(零填充)

1)在創(chuàng)建表的時(shí)候添加

CREATE TABLE t_user(user_id INT(10) DEFAULT 3);

2)通過ALTER語句

ALTER TABLE t_user MODIFY user_id INT(10) DEFAULT 2;

ALTER TABLE t_user CHANGE user_id user_id INT(10) DEFAULT 2;

刪除默認(rèn)約束

ALTER TABLE t_user MODIFY user_id INT(10);

ALTER TABLE t_user CHANGE user_id user_id INT(10);

注意事項(xiàng):

這里用的modify,只改變數(shù)據(jù)類型,也可以用change

改變列名的同時(shí)輸入新的數(shù)據(jù)類型

例如寬度指定了10,當(dāng)用戶戶輸入不足10位時(shí),會以0填充 例:0000000001

希望與廣大網(wǎng)友互動(dòng)??

點(diǎn)此進(jìn)行留言吧!

總結(jié)

以上是生活随笔為你收集整理的mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。