SQL Server 2005数据库技能培训(3)

2019-02-15 22:04

康索特软件有限公司 SQL Server 2005数据库技能培训

关系而不丢失信息,并保持属性间合理的联系。

三 表

3.1 基本介绍(了解)

1. 表是数据库中最基本的元素,用来存放数据的场所,在其基础上建立视图,触发器,规

则等。

2. 表是由字段组成,我们可以把字段理解为表的列,字段分为多种类型,如数值型,字符

型,日期型等。

3. 表有两个明显的特性,一是表中可以存储数据,二是这些数据在表中都有很规则的行列

位置。

4. 字段和记录就是列和行的特殊称呼。即字段就是表中的列,记录就是行。

3.2 表字段类型(掌握)

二进制数据类型 存储非子符和文本的数据 文本数据类型 字符数据包括任意字母、符号或数字字符的组合 Image Char Varchar Nchar Nvarchar Text Ntext 日期和时间 数字数据 日期和时间在单引号内输入 该数据仅包含数字,包括正数、负数以及分数 Datetime int smallint float real Money Bit 可用来存储图像 固定长度的非 Unicode 字符数据 可变长度非 Unicode 数据 固定长度的 Unicode 数据 可变长度 Unicode 数据 存储长文本信息 存储可变长度的长文本 日期和时间 整数 数字 存储布尔数据类型 货币数据类型 用于十进制货币值 Bit数据类型 表示是/否的数据 3.3 表创建(掌握) 3.3.1 建表语句

IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='表名') DROP TABLE 表名 --查看是否存在,存在就删除

地址:武汉洪山区武大科技园兴业楼南楼二单元402室 电话:027-87970489

康索特软件有限公司 SQL Server 2005数据库技能培训

CREATE TABLE [dbo].[表名]( [ID] [int] IDENTITY(1,1) NOT NULL, --自增ID [ParamName] [nvarchar](100) NOT NULL, [chrValue] [nvarchar](255) NULL, [intValue] [int] NULL, [Desc] [nvarchar](255) NULL ) ON [PRIMARY]

3.3.2 自增ID

见“3.1.1建表语句”中的红色部分

3.3.3 自增列

Row_number()给查询增加一个自增列。

例如:SELECT row_number() over(order by 排序字段) AS autoid FROM 表名

3.4 DML语言(掌握) 3.4.1 插入数据

1. INSERT [INTO] 表名 VALUES(值列表) --插入单行数据

2. INSERT 表名 SELECT 值 列表1 UNION SELECT 值 列表2 UNION ... ... SELECT 值 列表n

--插入多行

3. INSERT 表名 (列名[,列名...]) SELECT (列名[,列名...]) FROM 表名 [WHERE 条件]

--利用查询插入记录

3.4.2 查询数据

4. SELECT * FROM ISMPreport_db.dbo.rt119_ErrCodeinfo 5. SELECT GETDATE() AS 当前时间

3.4.3 删除数据

DELETE [FROM] 表名 [WHERE 条件]

3.4.4 更新数据

1. UPDATE 表名 SET 列名=更新值 [,列名2=更新值2...] [WHERE 条件] 2. UPDATE s

SET s.SubAddNum = a.num FROM (

SELECT cpid,servicetype,COUNT(usercode) num from SubAdd

地址:武汉洪山区武大科技园兴业楼南楼二单元402室 电话:027-87970489

康索特软件有限公司 SQL Server 2005数据库技能培训

GROUP BY cpid ,servicetype) a, silentuserstat_10 s

WHERE s.cpid = a.cpid and s.servicetype = a.servicetype

3.5 DDL语言(掌握) 3.5.1 增加字段

alter table emp add(

birthday date not null [CONSTRAINT DF_约束名 default getdate()] )

3.5.2 删除字段

alter table emp drop column birthday

3.5.3 修改字段

alter table emp alter ename varchar(30) not null [CONSTRAINT DF_约束名 default 'unknow']

3.5.4 删除表

Drop table emp

3.5.5 修改表名

-- 把表名emp改为employees EXEC sp_rename ‘emp’,’employees’

3.5.6 判断字段

1. 判断表中字段是否存在

判断ssrv_cdr11表中存不存在part_time字段:

SELECT * FROM syscolumns WHERE id = object_id('ssrv_cdr11') and name='part_time' 2. 判断表中是否有主键

if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK')

begin

print '表中已经有主键,列只能做为普通列添加' --添加int类型的列,默认值为0

alter table tb add 列名 int default 0 end else

begin

地址:武汉洪山区武大科技园兴业楼南楼二单元402室 电话:027-87970489

康索特软件有限公司 SQL Server 2005数据库技能培训

end

print '表中无主键,添加主键列' --添加int类型的列,默认值为0

alter table tb add 列名 int primary key default 0

3.6 表约束(掌握) 3.6.1 基本介绍

在数据库系统中,保证数据的完整性非常重要。所谓完整性,就是指存储在数据库中的数据的一致性和正确性。在SQL Server 中,可以通过约束来保证数据的完整性。

3.6.2 主键(primary key)约束

-- 创建

create table emp (

emp_no int not null [CONSTRAINT PK_约束名 PRIMARY KEY], emp_name varchar(8), address varchar(20) )

-- 增加索引

alter table emp add constraint emp_pk primary key (emp_no,emp_name) 注意:

1) 主键里的值总是唯一的。

2) 唯一和主健约束都会自动生成索引。

3.6.3 外键(foreign key)约束

-- 创建

create table salary (

emp_no int,

salary number(6,2) not null [FOREIGN KEY(emp_no) REFERENCES emp(emp_no)] )

-- 添加外键约束

alter table emp add constraint emp_no_fk foreign key (emp_no) references emp(emp_no) on delete cascade

-- 添加外键约束(双主键)

alter table emp add constraint emp_no_fk foreign key (emp_no,emp_name) references emp(emp_no,emp_name) on delete cascade

3.6.4 非空(not null)约束

地址:武汉洪山区武大科技园兴业楼南楼二单元402室 电话:027-87970489

康索特软件有限公司 SQL Server 2005数据库技能培训

-- 创建

CREATE TABLE performance (

student_no int NOT NULL,

student_name varchar(10) constraint student_name_nn NOT NULL, performance numeric(6,2) ) -- 修改

alter table performance modify performance not null 注意:

NOT NULL约束只能定义为列级约束,而不能为表级约束。

3.6.5 唯一(unique)约束

-- 创建

CREATE TABLE EMP (

e_no int not null,

name varchar(8) not null [CONSTRAINT UQ_约束名 UNIQUE], salary number(6,2) not null )

-- 增加UNIQUE约束

constraint emp_name_uk unique (e_no,name)

3.6.6 检查(check) 约束

-- 创建

create table salary (

emp_no int not null,

salary number(6,2) not null [CONSTRAINT CK_约束名 CHECK(salary>0)] )

-- 添加CKECK约束

alter table salary add constraint salary_min_chk check(salary>0)

3.6.7 默认(default)约束

-- 创建

create table salary (

emp_no int not null,

salary number(6,2) not null [CONSTRAINT DF_约束名 default 2500] )

地址:武汉洪山区武大科技园兴业楼南楼二单元402室 电话:027-87970489


SQL Server 2005数据库技能培训(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于单片机的音乐播放器 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: