(火炬)MS SQL Server
数据库案例教程
创建数据库:
CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一 FILENAME='D:\mydb\TDB_dat.mdf',//操作系统在创建文件时使用的路径和文件名 SIZE=10,//指定数据文件或日志文件的初始大小(默认单位为MB) MAXSIZE=50,// 指定数据文件或日志文件的最大大小,如果没有指定大小那么文件将磁盘曾满为止(UNLIMITED关键字指定文件大小不受限制—只受磁盘大小空间限制) FILEGROWTH=5 //指定文件的增长曾量,文件值不能超过MAXSIZE值的设置,0表示不增长,如果没有指定该参数,则默认值为10%;数据文件增长方式growth [ r uθ] n. 增长;发展;生长;种植 ) LOG ON ( NAME=TDB_log, FILENAME='D:\mydb\TDB_log.ldf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5MB )
删除数据库日志并收缩数据库:
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
删除数据库:
DROP DATABASE TESTDB,TDB…
1.查看Products表的结构
EXEC SP_HELP Products
2.插入数据
Insert into products (name,sex,ages) values(‘xu’,’男’,24)
补充: SQL数据库中把一张表从一个数据库中插入到另外一个数据库的一张表里
如果两个表结构完全一样的,用insert into data2.table2 select * from data1.table1
如果结构不一样或者你要指定字段,用insert into data2.table2(字段1,字段2,字段) select 字段j,字段k,字段m from data1.table1
SQl 把数据库中的一张表复制到另一个数据库中:
select * into 北风贸易.dbo.Category from [Northwind].dbo.Category
或
select * into 北风贸易.Dbo.cat from [Northwind].dbo.Category
3.更新数据
Update products set productprice= productprice- productprice*0.5 where 或
Update products set productprice= productprice- productprice*0.5 where id=1
1、update 联合select批量修改sql语句:
update b set b.TagValue=a.TagValue from [Nx_TagData] as b,(select * from [Nx_TagData] where TagCode=205911 and CollectTime>='2012-11-22 00:00:00.000' and CollectTime<='2012-11-23 00:00:00.000') as a where b.TagCode in (205915,205920,205922,206539,205908,205913,205917,205918,205809,205910,206285,206060) and b.CollectTime=a.CollectTime
4.删除数据
Delete from Products where productname=’v8’
5.全部删除表中的数据
Delete from products 或
Truncate table products
6.给products表添加一个字段
Alter table products
Add column producttype varchar(10)
7.修改products 表 producttype字段的长度
Alter table products
Alter column producttype varchar(50)
8.将products 表删除
Drop table products
注释:drop table name[,…] 可以删除多个表
9.注释标示符
--(双连字符) /*…*/(正斜线—星号字符对)
10.创建表及primary key约束(一个表只能有一个 PRIMARY KEY 约束)
Create table t_p/*学生*/ ( P_id char(5) not null, P_name char(8) not null, Constraint pk_tp_id primary key (p_id)--创建主键约束 pk_tp_id为约束名 ) Create table rec/*教师*/ ( R_id char(5) not null, R_name char(8) not null, R_DATE datetime not null, Constraint pk_rec_id_name primary key(R_id,name) –R_id与R_name组合约束 )
或者
Alter table rec—(增加约束)
Add Constraint pk_rec_id_name primary key(R_id,name) –R_id与R_name组合约束
提示:
(1)组合主键也可以像rec信息表那样在创建表时创建表约束,但是不能像创建t_p信息表那样创建成列级约束。
(2)以修改表的方式添加primary key 约束时,要求相应的列在创建表时必须有非空约束。
ALTER TABLE product
ADD CONSTRAINT pk_id PRIMARY KEY NONCLUSTERED ([id] ASC)
注释:NONCLUSTERED 非聚集索引 (在CLUSTERED聚集索引前面加上NON 就变为非聚集索引)
11.default 约束
Create table rec
(
R_id char(5) not n