⑴ 组合主码外码用sql语句怎么写
SQL语言创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性名)定义外码。
主码是一种唯一关键字,表定义的一部分。一个表的主码可以由多个关键字共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE语句中用Primary Key(属性名)定义。
将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键,用Foreign Key(属性名)定义。
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
sql语句就是对数据库进行操作的一种语言。
总结如下:
主码不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。实际上,因为主码除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主码需要更新,则说明主码应对用户无意义的原则被违反了。
⑵ sql server 2005如何在已经建立的表中把已有的某个属性设置为主码
最简单的方法是直接打开数据库右击所在表选择修改,点选你想设置的属性,右击会出现设置为主键,点选就可以了
⑶ 怎么在数据库里面不用sql语句把2个属性设置为主码
--修改主键 ALTER TABLE tablename --修改表
ADD
CONSTRAINT tb_PRIMARY
PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/
--修改约束ALTER TABLE 销售表 --修改表
ADD CONSTRAINT ck_sl --创建检查约束
CHECK (数量 >= 1 and 数量 <= 10000) --添加约束条件
--修改外键alter table 表名
add constraint 外键名称 foreign key (字段)
references 关系表名 (关系表内字段)
⑷ 数据库创建的时候设定两个属性为主码的时候该怎么做
sql 语句实现用 primary key(一个属性,第二个属性) 就ok了
如果用的sqlserver2000 的企业管理器,直接选中一个属性后,按住 Shift键,然后选中另外一个属性,点击右键,设置主键,就ok了
⑸ sql,如何用sql语句对一个已经编辑好的表在设置主码和外码
sql中的主码和外码,属于索引,SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQLServer系统的性能,加快数据的查询速度与减少系统的响应时间
创建索引的语法:
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_name
ON{table_name|view_name}[WITH[index_property[,....n]]
说明:
UNIQUE:建立唯一索引。
CLUSTERED:建立聚集索引。
NONCLUSTERED:建立非聚集索引。
Index_property:索引属性。
UNIQUE索引既可以采用聚集索引结构,也可以采用非聚集索引的结构,如果不指明采用的索引结构,则SQLServer系统默认为采用非聚集索引结构。
删除索引语法:
DROPINDEXtable_name.index_name[,table_name.index_name]
说明:table_name:索引所在的表名称。
index_name:要删除的索引名称。
修改索引的语法:
ALTER INDEX命令在其用来做什么方面多少有些欺骗性。截止到现在,ALTER命令总是与修改对象的定义有关。例如ALTER表以添加或禁用约束和列。ALTER INDEX是不同的-该命令与维护有关,而与结构完全不相干。如果需修改索引的组成,那么只能DROP然后CREATE索引,或者用DROP_EXISTING=ON选项CREATE并使用索引。
ALTER INDEX {<name of index> | ALL}
ON<table or view name>
{ REBUILD
[[ WITH (
[PAD_INDEX = {ON | OFF}]
| [[,] FILLFACTOR = <fillfactor>
| [[,] SORT_IN_TEMPDB = { ON | OFF }]
| [[,] IGNORE_DUP_KEY = { ON | OFF }]
| [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
| [[,] ONLINE = { ON| OFF }]
| [[,] ALLOW_ROW_LOCKS = { ON | OFF }]
| [[,] ALLOW_PAGE_LOCKS = { ON | OFF }]
| [[,] MAXDOP = <max degree of parallelism>
)]
|[ PARTITION = <partition number>
[ WITH (< partition rebuild index option>
[,...N])]]]
| DISABLE
| REORGANIZE
[ PARTITION = <partition number> ]
[ WITH (LOB_COMPACTION = { ON | OFF })]
| SET ([ ALLOW_ROW_LOCKS = { ON | OFF} ]
| [[,] ALLOW_PAGE_LOCKS = { ON | OFF } ]
| [[,] IGNORE_DUP_KEY = { ON | OFF } ]
| [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
)
}[;]
⑹ sql怎么设置主码
alter table 表名 add constraint pk_t primary key(列名)。把表中某个字段设置为主键
⑺ SQL数据库用代码创建 怎么创建
create database 数据库名称
on
(
name='aaa',
filename='aaa.dbf',
size=初始大小,
maxsize=存储上限,
filegrowth=增长增量
)
log on
(
name='b',
filename='b.ldf',
size=初始大小,
maxsize=存储上限,
filegrowth=增长增量
)
(7)sql数据库怎么创建主码扩展阅读:
SQL语句创建基本数据库
SQL语句代码:CREATE DATABASE 语句。
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
可以用这个模板,例子:
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
完毕!
⑻ sql server 2000 数据库怎么自动创建主码
sql
sever里面用序列来实现自动增长
create
table
abc(id
int
identity(1,1)
primary
key)
在这里id为int
类型,identity(1,1)就是说从1开始,每次增长1。
具体问题可以HI我
⑼ SQL语言建立表 设置主码问题
差别不大.
区别在于
第一种情况下,数据库用系统名定义一个约束,来作为主键约束的名字.
第二种情况下,这个约束的名字,由用户在 SQL 语句中指定了,也就是 C1.
对于某些情况下,需要禁用主键约束,然后批量导入数据,然后修改掉重复的约束,最后启用主键约束的时候, 知道约束名字,是比较方便的。
一般来说,自己起个约束的名字,也很麻烦。
表多了,这个约束名字也是要唯一的。