sql設置主鍵語句
① sql怎麼設置主鍵
1.主鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設置主鍵。
2.外鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區分一個表裡的記錄時,可以考慮多個列組合起來達到區分表記錄的唯一性,形式
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時:alter table tb_name add primary key (欄位1,欄位2,欄位3);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。
② SQL創建主鍵的語法
例如:
create table student
{
id int primary key identity(1,1), //primary key 就是創建主鍵,identity(1,1),從1開始以1自動增長.
name varchar(10) not null
}
③ 在sql中怎樣設置主鍵語法
創建表
--------------------------------------------------------------------------------
CREATE TABLE TABLE_NAME(
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
[constraint <約束名> 約束類型 (要約束的欄位名)... ]
);
說明:
TABLE_NAME --表名.
column1,column2 --列的名稱 不能取關鍵字
DATATYPE --是Oracle的數據類型,可以查看附錄.
NOT NULL /NULL --不可以/可以允許資料有空的.NULL一般省略.
PRIMARY KEY --是本表的主鍵。
CONSTRAINT --是對表裡的欄位添加約束.(約束類型有 Check,Unique,Primary key,not null,Foreign key)。
示例:
CREATE TABLE student(
s_id number(8) PRIMARY KEY,
s_name varchar2(20) NOT NULL,
s_sex varchar2(8) ,
clsid number(8) ,
CONSTRAINT u_1 UNIQUE(s_name),
CONSTRAINT c_1 CHECK (s_sex in ('MALE','FEMALE'))
);
表級約束
如 設置 兩列不能同時為空
ALTER TABLE tablename ADD CONSTRAINT check_name CHECK (col1 is not null or col2 is not null) ;
復製表
--------------------------------------------------------------------------------
CREATE TABLE TABLE as <SELECT 語句>
(需注意的是復製表不能復製表的約束);
示例:
CREATE TABLE test AS SELECT * FROM emp;
會將表emp的數據一並復制到test中,但約束沒有復制.
如果只復製表的結構不復製表的數據則:
CREATE TABLE test as (SELECT * FROM emp WHERE 1=2);
或者
CREATE TABLE test as (SELECT * FROM emp WHERE FALSE);
④ SQL怎樣用命令設置主鍵
我現在發現使用較少的語句也可以啦,比如:alter
tabler
badd
primary
key(id)將表b中的欄位id設為主鍵這個方法和你的視覺上的效果是一樣的,就是不曉得內部是否一樣的。
⑤ sql用命令創建主鍵與外鍵。
1、為了方便大家理解,使用一個例子來幫助大家理解。意思大概就是通過引用表二中的欄位完成對表一欄位的約束。方法:
⑥ 資料庫如何設置主鍵(ID)自動增長啊(SQL語句)
在創建表的時候可以設置,方法如下,用一下sql語句。
createtabletableName(
idintidentity(1,1)primarykey,
datavarchar(50))
解釋:其中identity(1,1)代表自增,第一個1代表從1開始計數,第二個1代表每次增長1。
(6)sql設置主鍵語句擴展閱讀:
SQL全名是結構化查詢語言[1](Structured Query Language),是用於資料庫中的標准數據查詢語言,IBM公司最早使用在其開發的資料庫系統中。1986年10月,美國國家標准學會(ANSI) 對 SQL 進行規范後,以此作為關系式資料庫管理系統的標准語言 (ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。不過各種通行的資料庫系統在其實踐過程中都對 SQL 規范作了某些編改和擴充。所以,實際上不同資料庫系統之間的SQL不能完全相互通用。
參考資料:
網路-SQL語言
⑦ sql中規定每個表都應該有一個主鍵,並且每個表只能有一個主鍵,即PRIMARY KEY 約束
對於一個欄位設置的主鍵,每個表確實只能有一個主鍵,但是可以設置多個欄位組成的主鍵,即聯合主鍵,示例如下,
1、創建測試表,create table test_pkey(companyid number, userid number, username varchar2(200));
⑧ 如何定義SQL主鍵
在SQL資料庫中,如何定義SQL主鍵是經常要遇到的問題,下面將為您介紹兩種定義SQL主鍵的方法,供您參考,希望對那您有所幫助。
SQL主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說SQL主鍵在一張表中的記錄值是唯一的。
建立SQL主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。
1.在資料庫提供的GUI環境中建立(以SQL7為例)。
輸入表信息後按Ctrl鍵同時選中多行,然後點上面的主鍵按鈕就行了。
2.通過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )
建表之後更改表結構:
CREATE TABLE 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null
欄位名3…………
欄位名N…………)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[欄位名1],
[欄位名2]
)
GO
【】
2.使用SQL語句創建主鍵約束
使用SQL語句創建主鍵約束可以在創建表(Create Table)或修改表(Alter Table)時進行 創建。
在修改表中創建主鍵約束語法:
ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
{(Column[,…n])}
參數說明:
CONSTRAINT:創建約束的關鍵字。
constraint_name:創建約束的名稱。
PRIMARY KEY:表示所創建約束的類型為主鍵約束。
CLUSTERED | NONCLUSTERED:是表示為PRIMARY KEY或UNIQUE約束創建聚集或非聚集索引的關鍵字。PRIMARY KEY約束默認為CLUSTERED,UNIQUE約束默認為 NONCLUSTERED。
下面在指定的資料庫中創建一個名為mytable的數據表,並在該數據表中將「userid」列設置為主鍵。
操作步驟:
(1)在操作系統中選擇「開始」→「所有程序」→「Microsoft SQL Server」→「查詢分析器」命令,打開查詢分析器。
(2)在查詢分析器的工具欄中選擇要連接的資料庫。
(3)在代碼編輯區中編寫如下代碼。
SQL語句如下:
USE 銷售管理系統 --引入資料庫
GO
CREATE TABLE mytable --創建表
(
USERID int CONSTRAINT pk_id PRIMARY KEY, --創建主鍵約束
USERNAME char (20), --數據列
USERPASS char (20), --數據列
USERPHONE char (20), --數據列
USERADDRESS varchar (50), --數據列
USERLEVEL char(2) --