sql語句建立主鍵

2021-07-23 04:25:14 字數 2436 閱讀 2546

對於有資料的表,在企業管理器裡面建立索引時,容易超時,使用sql語句只要在,工具-選項設定超時值為0,就不會超時。

sql語句建立有聯合主鍵的表

create   table   tabcheck  

(  

check_id   int   not   null,  

check_no   int   not   null,  

startdate   datetime,  

enddate   datetime  

.......................  

constraint   [pk_tabcheck]   primary   key     clustered   (check_id,check_no)   on   [primary]    

--上面這句一定要用到  

)    

check_id,check_no是這個表的聯合主鍵

乙個表只允許有乙個主鍵  

但乙個主鍵可以允許由多個字段構成復合主鍵  

所以樓主的寫法是不行的,用了多個主鍵  

冒牌的可以,由多個字段構成乙個主鍵  

而乙個表允許多個唯一鍵,所以如果僅僅是為了限制欄位的記錄不重複的話,可以用乙個主鍵,多個唯一鍵的方式.  

--如果樓主是要   *****_name+author_id   構成復合主鍵  

create   table   *****   (  

*****_name   varchar(50)   not   null,  

author_id   char(10)   not   null,  

constraint   pk_*****   primary   key(*****_name,author_id)   --復合主鍵  

)  

--如果樓主是要   *****_name   與   author_id   的值都不重複,則:  

create   table   *****   (  

*****_name   varchar(50)   not   null   primary   key,   --用主鍵做限制  

author_id   char(10)   not   null   constraint   uq_*****_author_id   unique   --用唯一鍵做限制  

)  

我們在create table時經常會碰到這樣的語句,例如:cityname nvarchar(10)collate chinese_prc_ci_as null,那它到底是什麼意思呢?不妨看看下面:

首先,collate是乙個子句,可應用於資料庫定義或列定義以定義排序規則,或應用於字串表示式以應用排序規則投影。

語法是collate collation_name

collation_name ::=|

引數collate_name是應用於表示式、列定義或資料庫定義的排序規則的名稱。collation_name 可以只是指定的 windows_collation_name 或 sql_collation_name。

windows_collation_name 是 windows 排序規則的排序規則名稱。參見 windows 排序規則名稱。

sql_collation_name 是 sql 排序規則的排序規則名稱。參見 sql 排序規則名稱。

下面簡單介紹一下排序規則:

什麼叫排序規則呢?ms是這樣描述的:"在 microsoft sql server 2000 中,

字串的物理儲存由排序規則控制。排序規則指定表示每個字元的位模式以及存

儲和比較字元所使用的規則。"

在查詢分析器內執行下面語句,可以得到sql server支援的所有排序規則。

select * from ::fn_helpcollations()

排序規則名稱由兩部份構成,前半部份是指本排序規則所支援的字符集。

如:chinese_prc_cs_ai_ws

前半部份:指unicode字符集,chinese_prc_指針對大陸簡體字unicode的排序規則。

排序規則的後半部份即字尾 含義:

_bin 二進位制排序

_ci(cs) 是否區分大小寫,ci不區分,cs區分

_ai(as) 是否區分重音,ai不區分,as區分   

_ki(ks) 是否區分假名型別,ki不區分,ks區分 

_wi(ws) 是否區分寬度 wi不區分,ws區分 

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。

區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,

比較還將重音不同的字母視為不等。

區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。

區分寬度:如果想讓比較將半形字元和全形字符視為不等,請選擇該選項

oracle 建立表sql語句,主鍵,自增長

在建立表之前請必須了解一下兩點 1,oracle 沒有identity,所以需要自己用squence 和 trigger 配合使用 實現 自增長。2,oracle中如果使用關鍵字,需要用 雙引號引起了。所以下面例子中出現的雙引號可以理解成轉義的。在執行多個sql是用 可以區分。現在就直接來sql語句...

常見SQL語句 建立表 新增主鍵 新增列

新建表 create table 表名 自動編號字段 int identity 1,1 primary key 欄位1 nvarchar 50 default 預設值 null 欄位2 ntext null 欄位3 datetime,欄位4 money null 欄位5 int default 0,...

常見SQL語句 建立表 新增主鍵 新增列

新建表 create table 表名 自動編號字段 int identity 1,1 primary key 欄位1 nvarchar 50 default 預設值 null 欄位2 ntext null 欄位3 datetime,欄位4 money null 欄位5 int default 0,...