--创建库 创建库之前 先进行 查看数据库中是否 已存在 次数据库 有便删除
--- if exists(select * from sys.sysdatabases where name='ConstructionDB')begin use master drop database ConstructionDB end go create database ConstructionDB on()
if exists(
select
*
from
sysobjects
where
name
=
'ConstructionDB'
)
--查找命令
drop
DATABASE
ConstructionDB
--删除 命令
Create
database
ConstructionDB
on
(
name
=
'ConstructionDB_date'
,
filename=
'E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.mdf'
,
size
=3mb,
maxsize=10mb,
filegrowth=5%
--增长速度为
)
log
on
(
name
=
'ConstructionDB_log'
,
filename=
'E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.ldf'
,
size
=2mb,
maxsize=5mb,
filegrowth=1mb
)
--使用T-SQL语句创建表
use ConstructionDB
go
---查询 库中是否存在 此表 存在则删除
if exists(
select
*
from
sysobjects
where
name
=
'T_flow_step_def'
)
drop
table
T_flow_step_def
--- 方法二
IF OBJECT_ID (N
'bas_CardType'
)
IS
NULL
BEGIN
--如果不存在该表,则进行创建
--drop table com_CodeRecord
--流程步骤定义表
create
table
T_flow_step_def(
Step_no
int
not
null
,
--流程步骤ID
Step_name
varchar
(30)
not
null
,
--流程步骤名称
Step_des
varchar
(64)
not
null
,
--流程步骤描述
Limit_time
int
not
null
,
--时限
URL
varchar
(64)
not
null
,
--二级菜单链接
备注
varchar
(256)
not
null
,
)
---流程类别表
create
table
T_flow_type(
Flow_type_id
char
(3)
not
null
,
--流程类别号
Flow_type_name
varchar
(64)
not
null
,
--流程类别名称
In_method_id
char
(3)
not
null
,
--招标方式代号
In_choice_id
char
(3)
not
null
,
--项目选项代号
备注
varchar
(256)
not
null
,
)
---标段情况表
create
table
T_sub_project(
Project_id
varchar
(32)
not
null
,
---工程编号
Sub_pro_id
char
(2)
not
null
,
-- 标段编号
Flow_type_id
char
(3)
not
null
,
--流程类别号
Sub_pro_name
varchar
(64)
not
null
,
--标段名称(招标项目名称)
Usb_no
varchar
(64)
not
null
,
--密码锁号
In_method_id
char
(3)
not
null
,
--招标方式代号
In_scope_id
char
(3)
not
null
,
--招标范围代号
In_choice_id
char
(3)
not
null
,
--项目选项代号
Proj_type_id
char
(3)
not
null
,
--项目性质代号
Engi_type_id
char
(1)
not
null
,
--工程性质代号
Pack_type
char
(1)
not
null
,
---发包方式
Grade_type_idv
char
(1)
not
null
,
--评分类别号
Flag_done
char
(1)
not
null
,
--完成标志
Flag_forcebreak
char
(1)
not
null
,
--强制中断标志
备注
varchar
(256)
not
null
,
)
--创建一个数据库名为‘sql_test'
create
database
sql_test
go
--打开数据库 sql_test
use sql_test
go
--建立学生表
create
table
学生
(学生编号
char
(4)
primary
key
, 学生名字
varchar
(50)
not
null
)
go
--修改学生表
alter
table
学生
add
班级编号
char
(4)
null
--添加班级编号字段
-- (注意如果添加的字段不为空的话,是不能被添加的)
go
--建立班级表
create
table
班级
(班级编号
char
(4)
primary
key
,班级名称
varchar
(50)
not
null
)
go
--建立课程表
create
table
课程
(课程编号
char
(4)
primary
key
,课程名称
varchar
(50)
not
null
,开课日期 datetime )
go
--修改课程表
alter
table
课程
add
课程代号
varchar
(10)
null
--添加课程代号字段
go
alter
table
课程
drop
column
开课日期
--删除开课日期字段
go
alter
table
课程
alter
column
课程名称
varchar
(20)
not
null
--修改课程名称字段
go
--建立一个product_test_one 表,与下个表类似,只不过在constraint前面有个‘逗号'不影响执行
create
table
product_test_one
(
id
char
(10)
not
null
,
name
varchar
(20)
null
, price money
default
20.5,quantity
smallint
null
,
constraint
pk_id
primary
key
clustered (id)
)
go
--建立一个product_test_two 表
create
table
product_test_two
(
id
char
(10)
not
null
,
name
varchar
(20)
null
, price money
default
20.5,quantity
smallint
null
constraint
pk_id2
primary
key
clustered (id)
)
go
--删除表 pruduct_test_one表
drop
table
product_test_one
go
--建立一个student表,使其中的 name 字段具有唯一性
create
table
student
(
id
char
(8),
name
char
(10)
--表字段
constraint
pk_id
primary
key
(id),
--添加一个主键约束
constraint
uk_name
unique
(
name
)
--添加一个唯一性约束
)
go
--建立一个student4表,同上 (注意:constraint 与constraint 之间一定要有逗号,否则出错!)
create
table
student4
(
id
char
(8),
name
char
(10)
--表字段
constraint
pk_id4
primary
key
(id),
constraint
uk_name4
unique
(
name
)
)
go
-- 删除表student4
drop
table
student4
go
--建立一个student3表,同上
create
table
student3
(
id
char
(8),
name
char
(10),
--表字段
constraint
pk_id3
primary
key
(id) ,
constraint
uk_name3
unique
(
name
)
)
go
--删除表student3
drop
table
student3
go
--constraint 约束名 check(逻辑条件表达式)
--创建一个‘员工‘表,使其输入的性别字段(sex)只能接受‘m'或则‘f',而不能接受其他数据
--并且为phone字段创建检查约束,限制只能输入类似0108564712之类的数据,而不能随意输入其他数据
create
table
员工
(
id
char
(5),
name
char
(20),sex
char
(2),phone
int
constraint
pk_zid
primary
key
(id),
--此间一定要有‘逗号'分隔 ,定义主键约束
constraint
chk_sex
check
(sex
in
(‘f‘,‘m‘) ),
constraint
chk_phone
check
(phone
like
‘(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]‘)
)
go
--constraint 约束名 default 约束表达式 [for 字段名]
-- 创建一个表‘默认约束',为字段sex创建默认约束
create
table
默认约束
(
id
char
(5)
primary
key
,sex
varchar
(2)
constraint
con_sex
default
‘m‘
)
go
--修改‘默认约束'表
alter
table
默认约束
add
name
varchar
(10)
null
constraint
con_name
default
‘你好宝贝‘
--增加一个字段为‘name',默认值为‘你好宝贝'
go
--往班级表里添加8条记录
insert
into
班级
values
(‘bj01‘,‘一班‘)
insert
into
班级
values
(‘bj02‘,‘二班‘)
insert
into
班级
values
(‘bj03‘,‘三班‘)
insert
into
班级
values
(‘bj04‘,‘四班‘)
insert
into
班级
values
(‘bj05‘,‘五班‘)
insert
into
班级
values
(‘bj06‘,‘六班‘)
insert
into
班级
values
(‘bj07‘,‘七班‘)
insert
into
班级
values
(‘bj08‘,‘八班‘)
go
--显示班级所以记录
select
*
from
班级
go
--删除班级表里班级编号大于bj06的记录
delete
from
班级
where
班级编号>‘bj06‘
go
--显示班级所以记录
select
*
from
班级
go
--向学生表里添加记录
insert
into
学生
values
(‘xs01‘,‘one‘,‘bj01‘)
insert
into
学生
values
(‘xs02‘,‘two‘,‘bj01‘)
insert
into
学生
values
(‘xs03‘,‘three‘,‘bj01‘)
insert
into
学生
values
(‘xs04‘,‘four‘,‘bj02‘)
insert
into
学生
values
(‘xs05‘,‘five‘,‘bj03‘)
insert
into
学生
values
(‘xs06‘,‘six‘,‘bj02‘)
insert
into
学生
values
(‘xs07‘,‘seven‘,‘bj04‘)
insert
into
学生
values
(‘xs08‘,‘eight‘,‘bj03‘)
insert
into
学生
values
(‘xs09‘,‘nine‘,‘bj04‘)
insert
into
学生
values
(‘xs10‘,‘ten‘,‘bj05‘)
insert
into
学生
values
(‘xs11‘,‘eleven‘,‘bj06‘)
insert
into
学生
values
(‘xs12‘,‘twleve‘,‘bj06‘)
go
--显示学生所有的记录
select
*
from
学生
go
--连接查询
select
*
from
学生,班级
where
学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
--选择的连接查询
select
学生.学生编号,班级.班级编号, 学生.学生名字,班级.班级名称
from
学生,班级
where
学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
--查询一班的学生
select
*
from
学生
where
班级编号
in
(
select
班级编号
from
班级
where
班级编号=‘bj01‘)
go
--与上面一条查询语句一样功能
select
a.学生编号,a.学生名字,a.班级编号
from
学生
as
a ,班级
as
b
where
a.班级编号=b.班级编号
and
b.班级编号=‘bj01‘
go
--统计一班学生人数
select
count
(学生编号)
as
学生统计
from
学生
where
班级编号
in
(
select
班级编号
from
班级
where
班级编号=‘bj01‘)
go
--group的用法和count()函数的用法
--统计一班学生人数,并显示学生的名字和所在班级
select
count
(学生编号)
as
学生统计, 学生名字,班级编号
from
学生
where
班级编号
in
(
select
班级编号
from
班级
where
班级编号=‘bj01‘)
group
by
班级编号,学生名字
go