SQLServer(二)

来源:互联网 发布:中标麒麟数据库 编辑:程序博客网 时间:2024/05/16 01:47




创建表和数据库之前,应先对数据库中查询所要建立的表是否已经存在
查询数据库:
if exists(select name from sysdatabases where name='XXXX')
drop database XXXX
查询表:
if exists(select name from sysobjects where name ='XXXX' and xtype='u')
drop table XXXX


在创建好数据库或者表后,要对其进行信息查询
查询数据库信息:
execute sp_helpdb XXXX
查询表信息:
execute sp_help XXXX


插入记录
1.单一插入:
insert into student(id,name,age,gender) values('123','Tommy',13,'male')
go
student(这里面的字段顺序不影响,对于可空字段,它的存在与否也不影响)
values(值的顺序必须与前面字段顺序相同)


2.批量插入:
(默认用Tab键间隔)
bulk insert student from 'd:/data.sql'
go
(用非Tab键间隔)
bulk insert student from 'd:/data.sql'
with(
fieldternimator=';'
rowternimator='\n')


删除记录
delete from student where id='123'
go



约束


非空约束:
create table student(
id char(10) not null,
name nchar(10)not null,
age nchar(10) not null,
gender char(12) not null)
go


主键约束:
1.字符型:
create table student(
id char(10) not null constraint pk_student primary key,
)
或者:
create table student(
id char(10)primary key,
)


2.自增长型:



当自增中的种子和增量都为1时,显式体现可以省略。


3.全局唯一性标识符类型主键
create table student(
id uniqueidentifier constraint pk_stu_information primary key,
name varchar(10),
)


4.建表后追加主键
alter table student add constraint pk_student primary key(id)
go


5.建表后删除约束:只需要提供约束名称
alter table student drop constraint pk_student
go




sqlsever中使用中文,如果对象名或列名使用了中文,通常按照习惯,用[]
例如[my table]  select * from [我的table]


向表中插入记录时,每个字段长度可以短于标准,但不能超出标准长度

从另一个角度对主键进行分类:

1、 自然主键,该列与其他列没有依赖关系;

2、 业务主键,该列数据与其他列数据之间有着依赖的关系;







0 0
原创粉丝点击