sql用命令创建主键与外键。 SQL 语句来创建表主键外键

sql\u7528\u547d\u4ee4\u521b\u5efa\u4e3b\u952e\u4e0e\u5916\u952e\uff0c\u600e\u4e48\u64cd\u4f5c\uff1f

\u7528\u547d\u4ee4\u521b\u5efa\u4e3b\u952e\u4e0e\u5916\u952e\u65b9\u6cd5\u5982\u4e0b\uff1a
--\u7528\u547d\u4ee4\u521b\u5efa\u4e3b\u952e\u4e0e\u5916\u952e.
--\u4f7f\u7528SQL\u8bed\u53e5\u521b\u5efa\u4e3b\u952e\u7ea6\u675f\u53ef\u4ee5\u5728\u521b\u5efa\u8868\uff08Create Table\uff09\u6216\u4fee\u6539\u8868\uff08Alter Table\uff09\u65f6\u8fdb\u884c \u521b\u5efa\u3002
--\u4f8b\u521b\u5efa\u8868\u65f6
create table tablename
(
id int (CONSTRAINT pk_id) PRIMARY KEY
)
--\u4f8b\u4fee\u6539\u8868\u65f6
ALTER TABLE tablename --\u4fee\u6539\u8868
ADD
CONSTRAINT tb_PRIMARY
PRIMARY KEY CLUSTERED (\u5217\u540d) /*\u5c06\u4f60\u8981\u8bbe\u7f6e\u4e3a\u4e3b\u952e\u7ea6\u675f\u7684\u5217*/

insert into \u8868(\u5217\u540d1,\u5217\u540d2,...,\u5217\u540dn) values('\u503c1','\u503c2',.....,'\u503cn')\uff1b//\u82e5\u5168\u90e8\u5217\u90fd\u6dfb\u52a0\uff0c\u8868\u540e\u9762\u7684\u62ec\u53f7\u53ef\u7701\u7565\uff1b
-----------
select * from \u8868 //\u67e5\u8be2\u6240\u6709
select * form \u8868 where \u6761\u4ef6 //\u6709\u6761\u4ef6\u67e5\u8be2
select \u5217\u540d1\uff0c\u5217\u540d2\uff0c\u5217\u540dn from \u8868 //\u53ea\u67e5\u8be2\u51e0\u4e2a\u5b57\u6bb5
------------
create trigger \u89e6\u53d1\u5668\u540d on \u8868
for insert //\u6216\u8005delete,update
as
{
//SQL\u8bed\u53e5
}

创建SQL的主键和外键约束的方法:

--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)

--如果在表创建好了以后再加约束,则格式分别为:

-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上

--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)

--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'

alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)

alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。

--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接

--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'

--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除

参考资料 : http://www.studyofnet.com/news/92.html

希望以上的回答能够帮到你

--用命令创建主键与外键.nbsp;--使用SQL语句创建主键约束可以在创建表(Createnbsp;Table)或修改表(Alternbsp;Table)时进行nbsp;nbsp;创建。--例创建表时createnbsp;tablenbsp;tablename(idnbsp;intnbsp;(CONSTRAINTnbsp;pk_id)nbsp;PRIMARYnbsp;KEY)--例修改表时ALTERnbsp;TABLEnbsp;tablenamenbsp;nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;nbsp;nbsp;nbsp;nbsp;CONSTRAINTnbsp;tb_PRIMARYPRIMARYnbsp;KEYnbsp;CLUSTEREDnbsp;(列名)nbsp;/*将你要设置为主键约束的列*/--用命令创建默认值对象,并与表中字段绑定.nbsp;--使用SQL语句创建主默认值对象可以在创建表(Createnbsp;Table)或修改表(Alternbsp;Table)时进行nbsp;nbsp;创建。--例创建表时createnbsp;tablenbsp;tablename(idnbsp;intnbsp;DEFAULTnbsp;0)--例修改表时ALTERnbsp;TABLEnbsp;tablenamenbsp;nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;nbsp;nbsp;nbsp;nbsp;CONSTRAINTnbsp;tb_DEFAULTDEFAULTnbsp;‘10011‘nbsp;FORnbsp;列名nbsp;/*将你要设置为默认值对象的列*/--用命令创建CHECK约束定义某字段.nbsp;USEnbsp;销售管理系统nbsp;nbsp;nbsp;nbsp;--引入数据库ALTERnbsp;TABLEnbsp;销售表nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;CONSTRAINTnbsp;ck_slnbsp;nbsp;nbsp;nbsp;--创建检查约束CHECKnbsp;(数量nbsp;amp;gt;=nbsp;1nbsp;andnbsp;数量nbsp;amp;lt;=nbsp;10000)nbsp;nbsp;nbsp;nbsp;--添加约束条件--用命令创建规则对象,并与表中字段绑定.--创建规则使用CREATEnbsp;RULE语句创建CREATEnbsp;RULEnbsp;RULE_AGEnbsp;nbsp;nbsp;nbsp;--创建规则ASnbsp;@AGEnbsp;!amp;gt;nbsp;40nbsp;nbsp;nbsp;nbsp;--规则条件不能大于40CREATEnbsp;RULEnbsp;list_rulenbsp;nbsp;nbsp;nbsp;nbsp;--创建规则AS@listnbsp;INnbsp;(‘1001‘,nbsp;‘1002‘,nbsp;‘1003‘)nbsp;nbsp;nbsp;nbsp;--规则条件只能输入1001、1002、1003CREATEnbsp;RULEnbsp;pattern_rulenbsp;nbsp;nbsp;nbsp;nbsp;--创建规则AS@valuenbsp;LIKEnbsp;‘_nbsp;_-%[0-9]‘nbsp;nbsp;nbsp;nbsp;--规则条件在任意两个字符的后面跟一个连字符和任意多个字符,并以nbsp;0nbsp;到nbsp;9nbsp;之间的整数结尾--创建好一个规则后,必须使用绑定才能够使用规则,一般情况下,规则可以绑定在用户自定义数据类型或是数据列中。下面可以使用SQLnbsp;Server中的系统存储过程sp_bindrule将规则绑定在数据表中。EXECnbsp;sp_bindrulenbsp;‘RULE_AGE‘,‘操作员信息表.操作员年龄‘--用命令创建用户自定义数据类型,并用该数据类型定义表中字段.--在“student”数据库中,创建用来存储邮政编码信息的“postalcode”用户定义数据类型。--SQL语句如下:USEnbsp;studentEXECnbsp;sp_addtypenbsp;postalcode,‘char(8)nbsp;‘,‘notnbsp;null‘

用命令创建主键与外键方法如下:



  • sql鐢ㄥ懡浠ゅ垱寤轰富閿笌澶栭敭銆
    绛旓細alter table 琛ㄥ悕 add constraint PK_瀛楁鍚--"PK"涓轰富閿殑缂╁啓锛屽瓧娈靛悕涓鸿鍦ㄥ叾涓鍒涘缓涓婚敭鐨瀛楁鍚,'PK_瀛楁鍚'灏变负绾︽潫鍚 primary key (瀛楁鍚) --瀛楁鍚嶅悓涓 --鍞竴绾︽潫:alter table 琛ㄥ悕 add constraint UQ_瀛楁鍚 unique (瀛楁鍚)--澶栭敭绾︽潫锛歛lter table 琛ㄥ悕 add constraint FK_瀛楁...
  • sql鐢ㄥ懡浠ゅ垱寤轰富閿笌澶栭敭銆
    绛旓細2銆佽繖閲屼竴鍏变袱涓〃锛屽厛鍒涘缓澶栭敭琛紝鍥犱负鍏堟湁澶栭敭锛涓婚敭鎵嶈兘寮曠敤銆傞鍏堝垱寤烘暟鎹簱锛屾柊寤烘煡璇3銆鏂板缓澶栭敭琛ㄣ恡eacher銆戯紝杈撳叆鍛戒护锛歝reate table teacher銆傛坊鍔犻渶瑕佺殑瀛楁teacher_xingming骞惰缃畠涓恒愪富閿戙傝緭鍏ュ懡浠わ細teacher_xingming nchar(10) primary key,4銆侀変腑闇瑕佹墽琛鐨勫懡浠琛岋紝鍗曞嚮銆愭墽琛屻戯紝涓...
  • sql鐢ㄥ懡浠ゅ垱寤轰富閿笌澶栭敭,鎬庝箞鎿嶄綔?
    绛旓細--鐢ㄥ懡浠ゅ垱寤轰富閿笌澶栭敭.--浣跨敤SQL璇彞鍒涘缓涓婚敭绾︽潫鍙互鍦ㄥ垱寤鸿〃锛圕reate Table锛夋垨淇敼琛紙Alter Table锛夋椂杩涜 鍒涘缓銆--渚嬪垱寤鸿〃鏃 create table tablename (id int (CONSTRAINT pk_id) PRIMARY KEY )--渚嬩慨鏀硅〃鏃 ALTER TABLE tablename --淇敼琛 ADD CONSTRAINT tb_PRIMARY PRIMARY KEY CL...
  • sql鎬庝箞璁剧疆涓婚敭
    绛旓細鈶鍒涘缓鏃讹細create table sc (studentno int,courseid int,score int,primary key (studentno) );鈶′慨鏀规椂锛欰LTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(鍒楀悕);鍓嶆彁鏄師鍏堟病鏈夎缃涓婚敭銆2.澶栭敭璇硶 鈶犲垱寤烘椂锛歝reate table sc (studentno int,courseid int,score int,foreign key ...
  • 鎬庝箞閫氳繃sql鍛戒护寤琛鍜鐢熸垚涓澶栭敭绾︽潫
    绛旓細鎴戜滑棣栧厛鏉鏂板缓涓涓涓婚敭琛紝濡備笅锛氱劧鍚庢垜浠墽琛屽畠锛屽涓嬶細鐒跺悗鎴戜滑鍐嶆潵閿澶栭敭琛紝濡備笅锛氳繖閲SQL鍛戒护鐨勯噸鐐规槸璁剧疆澶栭敭鐨勯儴鍒嗭細 dept_id int constraint fk_dept_id_hjj foreign key references dept1(dept_id) ) 娉細鈥渇oreign key鈥濊〃绀哄閿紝鈥渞eferences鈥濇槸鍙傜収鐨勬剰鎬濓紝鍚庨潰璺熺潃鐨勬槸涓婚敭琛ㄧ殑鍚嶇О鍜...
  • sql鐨勪富閿拰澶栭敭鎬庝箞璁?
    绛旓細-- 涓婚敭:alter table 琛ㄥ悕 add constraint PK_瀛楁鍚--"PK"涓轰富閿殑缂╁啓锛屽瓧娈靛悕涓鸿鍦ㄥ叾涓鍒涘缓涓婚敭鐨瀛楁鍚,'PK_瀛楁鍚'灏变负绾︽潫鍚 primary key (瀛楁鍚) --瀛楁鍚嶅悓 --鍞竴绾︽潫:alter table 琛ㄥ悕 add constraint UQ_瀛楁鍚 unique (瀛楁鍚 --澶栭敭绾︽潫锛歛lter table 琛ㄥ悕 add constraint ...
  • Sql server鎬庢牱鍒涘缓涓澶栭敭鍏崇郴
    绛旓細1.涓轰簡甯姪浣犵悊瑙o紝鐢ㄤ竴涓緥瀛愭潵甯姪浣犵悊瑙c傚畠鍩烘湰涓婃槸鎸囬氳繃寮曠敤琛2涓殑瀛楁鏉ョ害鏉熻〃1涓殑瀛楁銆2.鏈変袱涓〃锛岀涓涓〃鍒涘缓澶栭敭琛紝鍥犱负绗竴涓閿紝涓婚敭鍙互琚紩鐢ㄣ傞鍏堝垱寤烘暟鎹簱锛岀劧鍚庡垱寤轰竴涓柊鐨勬煡璇3.鍒涘缓涓涓柊鐨勫閿琛╗teacher]锛岀劧鍚庤緭鍏鍛戒护:Createtableteacher銆傛坊鍔爐eacher_xingming鐨...
  • sql鍒涘缓澶栭敭璇彞
    绛旓細1銆鍒涘缓娴嬭瘯涓昏〃锛堢彮绾ц〃test_class锛夛紝create table test_class(class_id number, class_name varchar2(20));2銆佸垱寤烘祴璇曞瓙琛紙瀛︾敓琛╰est_student锛夛紝create table test_student(stu_id number, stu_name varchar2(200), class_id number);3銆佷富琛紙鐝骇琛╰est_class锛夋坊鍔犲敮涓涓婚敭锛宎lter table...
  • 鍦sql涓鏁版嵁搴撶幇鏈夌殑涓変釜琛ㄦ坊鍔犻傚綋鐨勪富閿绾︽潫鍙澶栭敭绾︽潫,濡備綍瀹屾垚...
    绛旓細鍙互鍙傝僡lter table 澧炲姞涓婚敭 ALTER TABLE tablename ADD CONSTRAINT PK_table PRIMARY KEY CLUSTERED (column1,column2)澧炲姞澶栭敭 ALTER TABLE tablename ADD CONSTRAINT FK_table FOREIGN KEY (column1)REFERENCES table2 (pkcolumn) ;
  • sql涓澶栭敭鎬庝箞鍐鐨鏂规硶
    绛旓細sql涓澶栭敭鎬庝箞鍐欑殑鏂规硶銆傚涓嬪弬鑰冿細1.鍒涘缓娴嬭瘯琛紱鍒涘缓琛╰est锛縞lass锛坈lass锛縤dvarchar2锛10锛夛紝class锛縩amevarchar2锛30锛夛級锛涘垱寤鸿〃test锛縮tudent锛坰tudent锛縤dvarchar2锛10锛夛紝student锛縩amevarchar2锛30锛夛紝class锛縤dvarchar2锛10锛夛級锛2.琛╰est锛縞lass鍒涘缓涓婚敭锛宼est锛縮tudent娣诲姞澶栭敭锛涘垱寤猴紡閲嶆柊鍒涘缓...
  • 扩展阅读:sql一张表两个主键外键 ... sql同时写主键和外键 ... sql命令怎么创建外键 ... sqlserver主键和外键 ... 主键和外键怎么标明 ... sql数据怎么添加外键 ... sql server创建外键 ... sql主键和外键怎么设置 ... sql添加外键命令 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网