SQL Server 2005基础应用
一.数据库的基本操作
--创建数据库
create database new_db2
on primary
(
name='new.mdf',
filename='e:\new.mdf',
size=5mb,
maxsize=50mb,
filegrowth=10%
)
--收缩数据库
alter database new_db
modify file
(
name='new_db',
size=15mb
)
--压缩数据库
dbcc shrinkdatabase('new_db',1)
--重命名数据库
exec sp_renamedb 'new_db','Jasxu_db'
--删除数据库
drop database new_db2
二.数据库表的基本操作
--创建数据库
create database st_db
on primary
(
name='st.mdf',
filename='e:\st,mdf',
size=5mb,
maxsize=50mb,
filegrowth=20%
)
--删除Jasxu_db数据库
drop database Jasxu_db
--在st_db数据库中编辑
use st_db
--创建表
create table table_name
(
学号int primary key identity,--这里的identity意思就是将标志规范设置为递增
名称char(6) not null,
专业方向varchar(10) not null,
系部代码char(2) not null,
备注varchar(50)
)
--查看表的基本信息
exec sp_help table_name
--重命名表
exec sp_rename 'table_name','new_table'
--重命名列
exec sp_rename 'new_table.备注','其他','column'
--添加新列
alter table new_table add 新列char(10)
--更改列的数据类型
alter table new_table
alter column 新列int not null
--删除列
alter table new_table
drop column 新列
--删除表
drop table new_table
--案例解析
create table t2
(
id int not null,
us varchar(30)
)
--查询表里面的内容
select * from t1
--删除表的所有数据
truncate table t1
--创建主键约束
alter table t1
add constraint pk
primary key clustered (id)
--创建外键约束
alter table t2
add constraint wz
foreign key (id)
references t1(id)--references代表参照哪个表的主键设置外键
三.数据库表的增加、删除、修改
--创建系部表
create table 系部
(
系部代码char(6) not null primary key,
系部名称varchar(30) not null,
系主任char(8)
)
--创建专业表
create table 专业表
(
专业代码char(4) not null primary key,
专业名称varchar(20) not null,
系部代码char(6) constraint wz11 references 系部(系部代码)
)
--创建班级表
create table 班级表
(
班级代码char(9) not null primary key,
班级名称varchar(20),
专业代码char(4) constraint wz1 references 专业表(专业代码),
系部代码char(6) constraint wz2 references 系部(系部代码),
备注varchar(50)
)
--创建学生表
create table 学生表
(
学号char(12) not null primary key,
姓名char(8),
性别char(2),
出生日期datetime,
入学时间datetime,
班级代码char(9) constraint wz3 references 班级表(班级代码),
系部代码char(6) constraint wz4 references 系部(系部代码),
专业代码char(4) constraint wz5 references 专业表(专业代码)
)
--在new_table表中添加数据
insert into new_table values('Jasxu','计算机','01','无')
--选择性的插入数据
insert into new_table(名称,专业方向,系部代码) values('xsw','软件工程','02')
--省略values的insert语句
insert into new_table (名称,专业方向,系部代码) select 名称,专业方向,系部代码from new_table
--修改new_table表
update new_table set 系部代码='01'
update new_table set 专业方向='软件工程' where 专业方向='计算机'
--删除new_table中的内容
delete new_table where 专业方向='软件工程'
delete new_table where 学号='10'
四.数据库表的简单查询
--查询new_table表中所有信息内容
select * from new_table
select 学号,名称,专业方向,系部代码,其他from new_table
--输出表中的部分字段
select 学号,名称from new_table
--选择表中若干记录(去掉结果中的重复行)
select distinct 系部代码from new_table
--限制返回的行数
select top 3 * from new_table
--查询学号大于的信息
select * from new_table where 学号>13
--确定范围(between and)
select * from new_table where 学号between 12 and 16
--确定集合(in,not in)
select * from new_table where 学号in(12,13,14,15)
select * from new_table where 学号not in(12,13,14,15)
--字符匹配
select * from new_table where 名称like '徐_'--两个字的姓名
select * from new_table where 名称like '徐__'--三个字的姓名
select * from new_table where 名称like '徐%'--%代表任意长度
select * from new_table where 名称like '徐\%' escape '\'--通配符的转换
--清空数据
truncate table new_table
--插入数据
insert into new_table values('张学友','网络','01','没有','411')
insert into new_table values('刘德华','计算机','02','没有','412')
insert into new_table values('舒淇','计算机','01','没有