當前位置:首頁 » 編程語言 » sql創建表默認值並且不為空
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql創建表默認值並且不為空

發布時間: 2022-09-10 21:58:10

⑴ 在sql創建資料庫表時,如何為欄位設一個默認值

1、打開SQL Server Management Studio管理工具,輸入用戶名、密碼連接上sqlserver資料庫。

⑵ SQL中創建一個表之後如何添加默認約束和非空約束

你的語法不對,當然出錯,詳細語法參閱SQL聯機叢書

--添加非空約束
ALTER TABLE LOVO ALTER COLUMN NAME VARCHAR(20) NOT NULL;

--添加默認約束
ALTER TABLE LOVO ADD CONSTRAINT name_default DEFAULT 'zhouqiang' FOR NAME;

⑶ 建資料庫表時給一個欄位加可為空和默認值為0的約束該怎麼加

1、首先打開資料庫右鍵要設置表欄位唯一約束的表,顯示列表,如圖。

⑷ 使用SQL語句create創建一個表 然後讓某一列的值固定為空格 可以實現嗎 應該怎麼寫

可以實現,

原理創建一個表,默認值為空字元串

createtableA(keyIdint,infovarchar(20)default'')
go
insertintoA(keyId)values(1);
go

select*fromA
go
truncatetableA
droptableA

請採納!

⑸ sql語句 給表增加一列並設置默認值

alter table table1 add col1 int default 0

[code="java"]SELECT (

CASE WHEN account_id= ''

THEN 'empty'

when account_id is null

then 'empty'

ELSE account_id

) account_id

FROMaccount

WHERE account_id = 'XXX' OR account_id ='' OR (account_id is NULL)[/code]

(5)sql創建表默認值並且不為空擴展閱讀:

SQL默認值是資料庫對非空欄位數據的一種默認數據,當你設置好默認值的時候,欄位設置非NULL,但是插入數據的時候沒有給出值,資料庫自動會使用默認值插入。如果正常插入值,需要手動添加密碼,但是如果有大量的欄位可以使用默認值,那麼語句會顯得有點臃腫。設置欄位password默認值。

Createtablestu(

stuIdvarchar2(30)primarykey,

stuNamevarchar2(50)notnull,

stuSexchar(2)check(stuSexin('男','女'))default'男',--oracle中無默認屬性?

stuAgeNumber(2)check(stuAge>1),

stuJgvarchar2(30),--籍貫

stuDeptvarchar2(40));

⑹ sql 創建視圖時怎麼設初始的默認值

在插入數據時,我們如果不給這一列賦值,那麼這一列也是有值的,這一列的值就是默認值,如果建表時沒有設置默認值,那麼我們插入數據時,不給這一列賦值的話,這一列就沒有值

⑺ sql怎麼創建表

1.1 創建表方法
創建表是指在已存在的資料庫中建立新表。這是建立資料庫最重要的一步,是進行其他操作的基礎。

1.1.1 創建表的語法形式
CREATE TABLE 表名 (
屬性名 數據類型 [ 完整性約束條件 ],
屬性名 數據類型 [ 完整性約束條件 ],
......
屬性名 數據類型 [ 完整性約束條件 ],
)[ 表類型 ] [ 表字元集 ];
SQL 是不區分大小寫。下面將會具體介紹SQL,這種創建表是通過什麼方式起來的效果怎麼樣?

命名規范:

1. 命名富有意義 ( 英文或英文組合 )

2. 自定義名稱使用小寫

3. MySQL 語句使用大寫

CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 語句的含義是:如果不存在 text1 表,就創建它,包含 3 個欄位 id 、 name 和 gender ,它們的類型分別是整形、字元型和布爾型,創建的表的類型是 MyISAM 。

完整性約束條件表

PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯系的某表的主鍵
NOT NULL 標識該屬性不能為空
UNIQUE 標識該屬性的值是唯一的
AUTO_INCREMENT 標識該屬性的值自動增加,這是 MySQL 的 SQL 語句的特色 (null,0)
DEFAULT 標識該屬性設置默認值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 設置表的主鍵
主鍵是表的一個特殊欄位。該欄位能惟一地標識該表中的每條信息。主鍵和記錄的關系,如同身份證和人的關系。主鍵用來標識每個記錄,每個記錄的主鍵值都不同。身份證是用來標明人的身份,每個人都具有惟一的身份證號。設置表的主鍵指在創建表時設置表的某個欄位為該表的主鍵。

主鍵的主要目的是幫組 MySQL 以最快的速度查找到表中的某一條信息。

主鍵必須滿足的條件:

1. 主鍵必須是唯一的,表中任意兩條記錄的主鍵欄位的值不能相同;

2. 主鍵的值是非空值;

3. 主鍵可以是單一的欄位,也可以是多個欄位組合。

1. 單欄位的主鍵:

CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多欄位主鍵 :

CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 設置表的外鍵
外鍵是表的一個特殊欄位。如果欄位 sno 是一個表 A 的屬性,且依賴於表 B 的主鍵。那麼,稱表 B 為父表,表 A 為子表, sno 為表 A 的外鍵。通過 sno 欄位將父表 B 和子表 A 建立關聯關系。設置表的外鍵指在創建表設置某個欄位為外鍵。

設置外鍵的原則:必須依賴於資料庫中已存在的父表的主鍵;外鍵可以為空值。

外鍵的作用 : 是建立該表與其父表的關聯關系。父表中刪除某條信息時,子表中與之對應的信息也必須有相應的改變。例如, stu_id 就 student 表的主鍵, stu_id 是 grade 表的外鍵。當 stu_id 為 '123' 同學退學了,需要從 student 表中刪除該學生的信息。那麼, grade 表中 stu_id 為 '123' 的所有信息也應該同時刪除。

CONSTRAINT 外鍵別名 FOREIGN KEY ( 屬性 1.1, 屬性 1.2... 屬性 1.n);
REFERENCES 表名 ( 屬性 2.1, 屬性 2.2,..., 屬性 2.n)

CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 設置外鍵
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 設置表的非空約束
非空性是指欄位的值不能為空值 (NULL) 。非空約束將保證所有記錄中該欄位都有值。如果用戶新插入的記錄中,該欄位為空值,則資料庫系統會報錯。例如,在 id 欄位加上非空約束, id 欄位的值就不能為空。如果插入記錄的 id 欄位的值為空,該記錄將不能插入。設置表的非空約束是指在創建表時為表的某些特殊欄位加上 NOT NULL 約束條件。設置非空約束的基本語法規則如下:

屬性名 數據類型 NOT NULL

⑻ sql2000中如何在現有表上添加一列,且不為空

在「企業管理器」中找到相應的表,右鍵相應的表,選擇「設計表」後,便可以在出現的窗口中添加列,在最後一項「允許空」中不打勾就可以了。
如果用SQL語句的話可以如下:
alter table tablename add <新列名> <數據類型> not null default 默認值 with values;

補充:可以的,如果不加默認值的話會提示「ALTER TABLE 只允許添加可包含空值或指定了 DEFAULT 定義的列……」,在後面加個默認值就可以了添加為空的列了!新的sql語句如上
例如在student表中增加一列address,為空值可以如下:
alter table student add address char(40) not null default '廣西' with values;

⑼ 怎樣用sql新建一個不為空的欄位

創建表的時候:
create table table_name
(
id serial, // ---自增,item---
username char(20) not null, //---非空---
nation char(20) default 'China' //---默認值---
)

修改表的時候:

添加:
alter table table_name add(column_name char(120) default '默認值')

修改:
alter table table_name modify(old_name char(120) default '默認值')

我用的是informix資料庫,不過整體上是相同的。你可以嘗試一下,或者告訴我你用的是什麽資料庫,我再幫你解決。

----------------------正義的分割線----------------------

發現你的問題了,你在修改表結構的時候,要求這個欄位不為空,可是你並沒有給表的這個欄位賦值,這個效果就貌似"又要馬兒跑,又不給草吃"。其實你只要一開始就給這個欄位賦一個默認值就可以了,如果這個欄位的值為空了,資料庫就會給這個欄位賦值為默認值,不會出現真正的為空情況。

你嘗試下下面的語句:
alter table [table名] add/modify columnname datatype default(defaultvalue)

⑽ SQL創建一個表 我想讓用戶名為主鍵 不能為空 那它的類型設置成什麼類型呀 是char還是text還是int

用戶名當然不能是int,int表示整數,用戶名一般是漢字或者英文,也不能使用text,text是文本文件,當有大量的文字,並且超過255個時候才會用,比如一本書的簡介,一般默認是8kb,用char,或者varchar,char時你要設定長度,有時候如果長度不足,會浪費資源,大多說使用varchar,這個可以自動伸縮位元組的長度,不浪費空間與資源。
還有其他的你再問,我具體的給你回答。