1、操作数据库:
--1、创建数据库(简写,使用默认设置和路径): create database test2; --自定义设置和路径 create database test2 --主文件信息 on ( name=test2_data,--主文件名称 filename='E:\DB\test2_data.mdf',--文件所在物理路径 size=6,--文件初始化大小 maxsize=12,--文件最大尺寸 filegrowth=10%--超过最大尺寸时的增长率,可以指定大小,也可以指定百分比 ) --事务日志文件信息 log on( name=test2_log, filename='E:\DB\test2_log.ldf', size=1, maxsize=8, filegrowth=10% ) --2、添加数据文件和事务日志文件(一个数据库可以有多个主数据库文件和事务日志文件): --添加数据文件 alter database test2 add file( name=test2, filename='E:\DB\test2.mdf', size=6, maxsize=12, filegrowth=10% ) --添加日志文件 alter database test2 add log file( name=test2, filename='E:\DB\test2.ldf', size=1, maxsize=8, filegrowth=10% ) --3、删除数据文件和日志文件: --删除主数据文件,注意此处的test2为添加主数据文件时name的值,而不是filename中的名称 alter database test2 remove file test2 --(可能会报错:找不到或无法初始化语句中列出的一个或多个文件。) --删除事务日志文件 alter database test2 remove file test2_log --(可能会报错:不能从数据库中删除主数据文件或主日志文件。) --4、修改数据库名称: --执行SQL结构:exec sp_renamedb '旧数据库','新数据库'; --执行过程中可能报错:无法用排他锁锁定该数据库,以执行该操作。 --此时需要重新启动SQL Server服务并重新连接然后执行即可。 --执行成功控制台将显示:数据库 名称 'test1' 已设置。 exec sp_renamedb test2,test1; --5、删除数据库: drop database test2 --同时删除多个数据库 drop database test2,test1; --6、使用数据库 use test2;
2、操作表:
--1、创建表 create table table1 ( field1 int, field2 varchar(50), field3 int, field4 numeric(18,2), field5 varchar(100) ) --2、重命名表名: EXECUTE sp_rename N'table2', N'table1', 'OBJECT' --3、判断表是否存在 if object_id(N'table1',N'U') is not null begin print '表存在'; end --4、删除表 drop table table1;
3、操作表字段:
--1、添加列 alter table table1 add field6 varchar(100) not null default('是'); --2、修改类型 alter table table1 alter column field6 int ; --这样子直接修改会报错: --对象' DF__table1__field6__0425A276' 依赖于列'field6'。 --由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN field6失败。 --因为我的field6添加了一个默认(default)约束。想要修改字段类型,先得删除约束,然后才能修改。删除字段的时候也是一样。 --3、查看当前表中的默认约束有哪些: select * from sysobjects where xtype='D' and parent_obj=object_id('table1') --4、删除默认约束 alter table table1 drop constraint DF__table1__field6__0425A276 ---5、删除列(此时因为field6上面有default约束,所以不能删除) alter table table1 drop column field64、关于不为空、默认值:
--1、添加不为空限制 alter table table1 alter column field1 int not null; --2、修成成允许为空限制 alter table table1 alter column field1 int null; --3、添加默认约束 alter table table1 add default(0) for field2 ; alter table table1 add default ('是') for field6; --4、查看当前表中的默认约束有哪些: select * from sysobjects where xtype='D' and parent_obj=object_id('table1') --5、删除默认约束 alter table table1 drop constraint DF__table1__field6__0425A2765、关于主键:
--1、添加主键 alter table table1 add constraint PK_field1 primary key(field1); --2、获取主键所在列 declare @PKColumn varchar(100); SELECT @PKColumn=COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='table1'; print @PKColumn; --3、删除主键约束 alter table table1 drop constraint PK_field1;6、关于外键:
--1、添加外键:在field3上添加外键 alter table table2 add constraint FK_field3 foreign key (field3) references table1(field1) on update cascade on delete cascade --2、查看外键约束 select * from sysobjects where xtype='F' and parent_obj=object_id('table2') --3、删除外键约束 alter table table2 drop constraint FK_field3