平日里用DBMS用多了,操作都没使用Sql语句了。谁知一场笔试居然考这个,哎,重新再总结下。
先创建数据库
create database mical
on
primary (name=miacal_data1,
filename='E:\SQL Server 200\MSSQL$MICAL_BO\SQL server 2000个人版运行\MSSQL\Data\mical_data1.mdf',
size=2MB,
maxsize=10,
filegrowth=1),
(name=mical_data2,
filename='E:\SQL Server 2000\MSSQL$MICAL_BO\SQL server 2000个人版运行\MSSQL\Data\mical_data2.mdf',
size=2MB,
maxsize=10,
filegrowth=1)
log on
(name=mical_log1,
filename='E:\SQL Server 2000\MSSQL$MICAL_BO\SQL server 2000个人版运行\MSSQL\Data\mical_log1.ldf' ,
size=2MB,
maxsize=8,
filegrowth=1),
(name=mical_log2,
filename='E:\SQL Server 2000\MSSQL$MICAL_BO\SQL server 2000个人版运行\MSSQL\ Data\mical_log2.ldf' ,
size=2MB,
maxsize=8,
filegrowth=1)
go
修改数据库的名字 exec sp_renamedb 'mical','ss'
1、先从建表开始吧:
use ss
create table lxp_table
(
coll1 char(50) not null,
coll2 int,
coll3 int identity(1, 1) not null 自动增长1
primary key (coll3)) /*建立主键*/
create table lxp_b
(
b1 varchar not null,
b2 varchar not null,
b3 int identity(1,1) not null,
primary key(b3)
)
2、修改表的名字
EXEC sp_rename 'lxp_table', 'lxp_a'
3、修改列名
Exec sp_rename 'lxp_a.[coll1]','a1'
exec sp_rename 'lxp_a.[coll2]','a2'
exec sp_rename 'lxp_a.[coll3]','a3'
4、添加新列
alter table lxp_a
add a_3 varchar
exec sp_rename 'lxp_a.[a_3]','a4'
5、修改列的类型
alter table lxp_a
alter column a4 char(50) 修改类型时只能向能转换成的数据类型修改(修改类型时系统会自动将此列数据转换若无法转换则无法修改)
6、创建表时相应的添加外键
create table a_b
(
a_id int not null
constraint aa foreign key(a_id) references lxp_a(a3), 创建表时相应的添加外键
b_id int not null)
drop table a_b
7、在已经创建好的表中添加外键
alter table a_b
add constraint bb foreign key (b_id) references lxp_b(b3)
8、在已经创建好的表中删除外键
alter table a_b
drop bb
9、查询出谁连接着数据库
select * from master..sysprocesses where hostname<>''
exec sp_who
10、查询指定数据库的相关信息
select * from sysobjects where type = 'U';
select name from sysobjects where type = 'F';
select name from sysobjects where type = 'P';
由于系统表sysobjects保存的都是数据库对象,其中type表示各种对象的类型,具体包括:
U = 用户表
S = 系统表
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
TF = 表函数
TR = 触发器
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程及相关的对象信息。
PS:打开数据库
use DNN_LH_493
11、查询出所有用户数据库
exec sp_databases
12、查询出指定数据库下的所有表
use ss
exec sp_tables