真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql列級約束怎么寫 sql列級約束

mysql這個列級權(quán)限用GRANT怎么寫,高手來

mysql這個列級權(quán)限用GRANT怎么寫

成都創(chuàng)新互聯(lián)公司主營葉縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),葉縣h5微信小程序開發(fā)搭建,葉縣網(wǎng)站營銷推廣歡迎葉縣等地區(qū)企業(yè)咨詢

grant 權(quán)限 on 數(shù)據(jù)庫對象 to 用戶

一、grant 普通數(shù)據(jù)用戶,查詢、插入、更新、刪除 數(shù)據(jù)庫中所有表數(shù)據(jù)的權(quán)利。

grant select on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@'%'

或者

grant select, insert, update, delete on testdb.* to common_user@’%’

MYsql 怎么約束列的取值范圍

MYsql 怎么約束列的取值范圍

一般是建立check約束。例如設(shè)置sex一列取值只能為'男'或'女' 建表tab10時命令為create table tabl0 (sex char(2) check(sex in ('男','女'))..

mysql基礎(chǔ)數(shù)據(jù)類型118-124

#常見的數(shù)據(jù)類型

/*

數(shù)值型:

整形

小數(shù):

? ? 定點數(shù)

? ? 浮點數(shù)

字符型:

較短的文本:char、varchar

較長的文本:text、blob(較長的二進制數(shù)據(jù))

日期型:

*/

#一、整形

/*

分類:

tinyint、smallint、mediumint、int/integer、bigint

1 ? ? ? ? ? ?2 ? ? ? ? ? ? ? ?3 ? ? ? ? ? ? ? ? ? ? ? ?4 ? ? ? ? ? ? ? ?8

特點:

-如果不設(shè)置無符號還是有符號,默認(rèn)是有符號,如果想設(shè)置無符號,需要添加unsigned關(guān)鍵字

-如果插入的數(shù)值超出了整形的范圍,會報out of range異常,并且插入臨界值

-如果不設(shè)置長度,會有默認(rèn)的長度

-長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但是必須搭配zerofill使用

*/

#1.如何設(shè)置無符號和有符號

CREATE TABLE tab_int(

t1 INT

t2 INT ZEROFILL ?【無符號】

);

#二、小數(shù)

/*

浮點型

float(M, D)

double(M, D)

定點型

dec(M, D)

decimal(M, D)

特點:

-M:整數(shù)部位+小數(shù)部位

-D:小數(shù)部位

-M和D都可以省略

如果是decimal,則M默認(rèn)為10,D默認(rèn)為0

如果是float和double,則會根據(jù)插入的數(shù)值的精度來決定精度

定點型的精確度較高,如果要求插入數(shù)值的精度較高如貨幣運算等則考慮使用

*/

CREATE TABLE tab_float (

f1 FLOAT(5, 2)

f2 DOUBLE (5, 2)

f3 DECIMAL(5, 2)

)

#原則:

/*

所選擇的類型越簡單越好,能保存數(shù)值的類型越小越好

*/

#三、字符型

/*

較短的文本:

char

varchar

較長的文本:

text

blob(較大的二進制)

特點:

? ? ? ? ? ? ? ? 寫法 ? ? ? ? ? ? ? ?M的意思 ? ? ? ? ? ? ????????????????????????????特點 ? ? ? ? ? ? ? ? ? ????空間的耗費 ? ? ? ? ? ? ? ? ? ?效率????????

char ? ? ? ? ? ?char(M) ? ? ? 最大的字符數(shù),可以省略 ? ? ? ? 固定長度的字符 ? ?????????比較耗費 ? ? ? ? ? ? ? ? ? ? ? ?高

varchar ? ? ?carchar(M) ? ?最大的字符數(shù),不可以省略 ? ?可變長度的字符 ? ? ? ? ? ?比較節(jié)省 ? ? ? ? ? ? ? ? ? ? ? ?低

*/

CREATE TABLE tab_char(

c1 ENUM('a','b','c')

)

CREATE TABLE tab_set(

s1 ? ?SET ('a','b','c','d')

)

#四、日期型

特點:

? ? ? ? ? ? ? ? ?字節(jié)? ? ? ? ? ? ? ? ? ? ? ? 范圍? ? ? ? ? ? ? ? ? ? 時區(qū)等的影響

datetime? ? ? ? ? ? ? ? ? ? ? ? ? 8? ? ? ? ? ? ? ? ? ? ? ? ? ? 10000-9999? ? ? ? ? ? 不受

timestamp? ? ? ? ? ? ? ? ? ? ? ? 4? ? ? ? ? ? ? ? ? ? ? ? 1970-2038? ? ? ? ? ? ? ? ? ? 受

CREATE TABLE tab_date(

t1? ? DATETIME,

t2? ? TIMESTAMP

)

#常見約束

/*

含義:一種限制,用于限制表中的數(shù)據(jù),為了保證表中的數(shù)據(jù)的準(zhǔn)確和可靠性

分類:六大約束

NOT NULL:非空,用于保證該字段的值不能為空,比如姓名、學(xué)號等

default:默認(rèn),用于保證該字段有默認(rèn)值,比如性別

primary key:主鍵,用于保證該字段的值具有唯一性,并且非空,比如學(xué)號等

unique:唯一,用于保證該字段的值具有唯一性,可以為空,比如座位號

check:檢查約束【mysql中不支持】,比如年齡、性別

foreign key:外鍵,用于限制兩個表的關(guān)系,用于保證該字段的值必須來自于主表的關(guān)聯(lián)列的值,在從表添加外鍵約束,用于引用主表中某列的值,比如員工表的部門編號,員工表的工種編號

添加約束的時機:

1.創(chuàng)建表時

2.修改表時

約束的添加分類:

列級約束:

? ? 六大約束語法上都支持,但外鍵約束沒有效果

表級約束:

? ? 除了非空、默認(rèn),其他的都支持

*/

CREATE TABLE 表名(

字段名? ? 字段類型? ? 列級約束,

表級約束

)

#一、創(chuàng)建表時添加約束

/*

語法:

直接在字段名和類型后面追加 約束類型即可

只支持:

*/

#1.添加列級約束

create table stuinfo (

id int primary key,? #主鍵

stuName? varchar(20) not null,? ?#非空

gender char(1)? check(gender='男' OR gender ='女'),? #檢查約束

seat int unique,? #唯一約束

age? int? default? 18,? #默認(rèn)約束

majorId int foreign key references major (id)? #外鍵

)

create table major (

id int primary key,

majorName? varchar (20)

)

desc stuinfo? ?#查看表結(jié)構(gòu)

show index from stuinfo? #查看stuinfo表中所有的索引,包括主鍵、外鍵、唯一

#2、添加表級約束

create table stuinfo (

id int

stuName? varchar(20)?

gender char(1)?

seat int,

age? int? ,?

majorId int

constraint pk primary key (id),? #主鍵

constraint? uq unique (seat),? #唯一鍵

constraint? ck check (gender = '男' or gender = '女'),? ?#檢查

constraint? fk_stuinfo_major foreign key(majorid) references major(id)? #外鍵

)

SQL中規(guī)定某列值只能是0或者1的約束該怎么寫?

SQL CHECK?約束。

CHECK?約束用于限制列中的值的范圍。

如果對單個列定義?CHECK?約束,那么該列只允許特定的值。

如果對一個表定義CHECK約束,那么此約束會在特定的列中對值進行限制。

--刪除表

drop table temp;

--創(chuàng)建表

CREATE TABLE temp (flag NUMBER(1));

--增加約束

ALTER TABLE temp?ADD?CONSTRAINT?ck_temp_flag CHECK

(flag=1 or flag=0);

--測試效果版

insert into temp values(1);

insert into temp values(0);

insert into temp values(1);

--測試效果(約束禁止插入數(shù)據(jù)),提示權(quán):違反檢查約束條件

insert into temp values(2);

insert into temp values(3);

SQL CHECK Constraint on CREATE TABLE。

下面的?SQL?在?"Persons"?表創(chuàng)建時為?"Id_P"?列創(chuàng)建?CHECK?約束。CHECK?約束規(guī)定?"Id_P"?列必須只包含大于?0?的整數(shù)。

My SQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (Id_P0)

)

擴展資料:

不同數(shù)據(jù)庫的約束寫法:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL?CHECK (Id_P0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

如果需要命名?CHECK?約束,以及為多個列定義?CHECK?約束,請使用下面的?SQL?語法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')

)

SQL CHECK Constraint on ALTER TABLE.

如果在表已存在的情況下為?"Id_P"?列創(chuàng)建?CHECK?約束,請使用下面的?SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CHECK (Id_P0)

如果需要命名?CHECK?約束,以及為多個列定義?CHECK?約束,請使用下面的?SQL?語法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')

撤銷?CHECK?約束。

如需撤銷?CHECK?約束,請使用下面的?SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person


網(wǎng)頁名稱:mysql列級約束怎么寫 sql列級約束
當(dāng)前路徑:http://weahome.cn/article/ddggpdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部