
--使用SQL语句创建主键约束可以在创建表(Create Table)或修改表(Alter Table)时进行 创建。
--例创建表时
create table tablename
(
id int (CONSTRAINT pk_id) PRIMARY KEY
)
--例修改表时
ALTER TABLE tablename --修改表
ADD
CONSTRAINT tb_PRIMARY
PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/
--用命令创建默认值对象,并与表中字段绑定.
--使用SQL语句创建主默认值对象可以在创建表(Create Table)或修改表(Alter Table)时进行 创建。
--例创建表时
create table tablename
(
id int DEFAULT 0
)
--例修改表时
ALTER TABLE tablename --修改表
ADD
CONSTRAINT tb_DEFAULT
DEFAULT '10011' FOR 列名 /*将你要设置为默认值对象的列*/
--用命令创建CHECK约束定义某字段.
USE 销售管理系统--引入数据库
ALTER TABLE 销售表--修改表
ADD CONSTRAINT ck_sl--创建检查约束
CHECK (数量 >= 1 and 数量 <= 10000)--添加约束条件
--用命令创建规则对象,并与表中字段绑定.
--创建规则使用CREATE RULE语句创建
CREATE RULE RULE_AGE--创建规则
AS
@AGE !>40--规则条件不能大于40
CREATE RULE list_rule --创建规则
AS
@list IN ('1001', '1002', '1003')--规则条件只能输入1001、1002、1003
CREATE RULE pattern_rule --创建规则
AS
@value LIKE '_ _-%[0-9]'--规则条件在任意两个字符的后面跟一个连字符和任意多个字符,并以 0 到 9 之间的整数结尾
--创建好一个规则后,必须使用绑定才能够使用规则,一般情况下,规则可以绑定在用户自定义数据类型或是数据列中。下面可以使用SQL Server中的系统存储过程sp_bindrule将规则绑定在数据表中。
EXEC sp_bindrule 'RULE_AGE',' *** 作员信息表. *** 作员年龄'
--用命令创建用户自定义数据类型,并用该数据类型定义表中字段.
--在“student”数据库中,创建用来存储邮政编码信息的“postalcode”用户定义数据类型。
--SQL语句如下:
USE student
EXEC sp_addtype postalcode,'char(8) ','not null'
还有一种方法,利用数据库的工具在库内生成。像PL,Navicat for MySQL等,根据数据不同用不同的工具
分成多个表之后,每个表都是从 1 开始累加,这样是不对的,我们需要一个全局唯一的 id 来支持。生成全局 id 有下面这几种方式:UUID:不适合作为主键,因为太长了,并且无序不可读,查询效率低。比较适合用于生成唯一的名字的标示比如文件的名字。
数据库自增 id : 两台数据库分别设置不同步长,生成不重复ID的策略来实现高可用。这种方式生成的 id 有序,但是需要独立部署数据库实例,成本高,还会有性能瓶颈。
利用 redis 生成 id : 性能比较好,灵活方便,不依赖于数据库。但是,引入了新的组件造成系统更加复杂,可用性降低,编码更加复杂,增加了系统成本。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)