数据库操作
1、说明:创建数据库
CREATE DATABASE database-name
例如:
create database sales --创建一个名为sales的数据库
on
(
name='sales_data', --在数据库中的逻辑名称
filename='d:\sales_data.mdf', --数据的实际存放地址
size=10MB, --创建数据库时初始大小
maxsize=50MB, --指定数据库最大容量
filegrowth=5% --数据库文件的增长率
)
log on --这一行开始就是日志文件
(
name='sales_log', --日志文件的逻辑名称
filename='d:\sales_log.ldf', --日志文件的实际存放地址
size=10MB, --创建日志文件的增长率
maxsize=50MB, --日志文件的最大容量
filegrowth=5MB --日志文件的增长量
)
2、说明:删除数据库
drop database dbname
3、说明:查看数据库的相关信息
sp_helpdb dbname
4、说明:查看当前数据库数据文件与日志文件的相关信息
sp_helpfile
5、说明:备份数据库
sp_addumpdevice 'disk','mydisk','d:\dbname.bak'
--添加设备。disk表示目标设备类型,dbname表示目标设备逻辑名称,d:\dbname.bak表示目标设备物理名称
backup database dbname to mydisk
--向设备写入数据.其中的sales指数据库名,mydisk为自定的设备标示符
6、说明:分离数据库
sp_detach_db sales
7、说明:整合数据库
sp_attach_db sales,@filename1='数据文件路径名' ,@filename2='日志文件路径名'
8、说明:恢复数据库
restore database sales from mydisk
9、说明:删除设备
sp_dropdevice mydisk
10、说明:设数据库为只读
EXEC sp_dboption 'sales','read only','true'
11、说明:设数据库为自动压缩
EXEC sp_dboption 'sales',autoshrink,true
12、说明:设数据库为单用户
EXEC sp_dboption 'sales','single user'
13、说明:将数据库中的文件减小,使数据库中有10%的可用空间
DBCC shrinkdatabase (sales,10)
表操作
1、说明:创建新表
create table Table1
(
id int identity(1,1) primary key, --这一行是设定了id列为标识列且为主键,递增量为1
name varchar(10),
args varchar(10),
mail varchar(10),
address varchar(10),
mobile varchar(10)
)
2、根据已有的表创建新表
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
3、说明:删除表
drop table 表名
4、说明:删除表内数据
用于初始化表,不可带条件,不能截断被外键引用的表,不管该表中是否有数据
truncate table 表名 --不可用于实务
delete table 表名 --用于实务
5、说明:增加一个列
alter table 表名 add 列名 数据类型
6、说明:删除一个列
alter table 表名 drop column 列名
7、说明:添加删除约束
---添加主键约束
alter table tabname add constraint pk_id primary key(gid)
---添加外键约束
alter table tabF add constraint fk_id foreign key(fno) references tabP(pid)
---添加唯一约束
alter table tabname add constraint uq_name unique(gname)
---添加检查约束
alter table tabname add constraint cj_price check(price>300 and price<1000)
---添加默认约束
alter table tabname add constraint df_ldate default (0) for ldate
---删除约束
alter table tablename drop constraint 约束名
8、说明:简单的增,删,改,查
添加:insert [into] <表名> [列名] values <值列表>
示例:insert into table1(field1,field2) values(value1,value2)
修改:update <表名> set 列名=更新值[,列名=更新值][where <更新条件>]
示列:update table1 set field1=value1 where
删除: delete from <表名> [where <删除条件>]
示例:delete from table1 where
查询:select <列名> from <表名>
示例:select * from table1
9、is关键字,where关键字和as关键字
is的使用:查询价格为空的货物
select *from goods where price is null
where的使用:删除符合where条件的行
delete from 表名 where 条件(如:gid=1001)
as的使用:查处的列名改为最高价格
select max(price) as 最高价格 from goods
10、模糊查询
--LIKE关键字--用于比较部分字符串,常与通配符联合使用
示例:SELECT * FORM Table Where StuName LIKE '张%'
--Between关键字--用于在某个范围内查询
示例:SELECT * FORM Table Where Score BETWEEN 60 AND 80
--In关键字--用于在某个范围内查询
示例:SELECT * FORM Table Where SAddress IN ('北京','上海','广州')
(注:模糊查询关键字可和NOT关键字联用。如:SELECT * FORM Table Where SAddress NOT IN ('北京','上海','广州'))
11、分组查询
--Group By关键字--分组
示例:SELECT CourseId,AVG(Score) FROM Score GROUP BY CourseId
--Having关键字--分组后的筛选
示例:SELECT CourseId,AVG(Score) FROM Score GROUP BY CourseId HAVING Score>60
--Order by关键字--排序,Desc表示降序,Asc表示升序
示例:SELECT CourseId,Score FROM ScoreInfo ORDER BY Score DESC
12、多表联查
左外连接 Left Join或Left Outer Join
返回:左表的所有行,右表的匹配行
示例:SELECT * FROM a LEFT JOIN b ON a.aid = b.bid
右外连接 Right Join或Right Outer Join
返回:右表的所有行,左表的匹配行
示例:SELECT * FROM a RIGHT JOIN b ON a.aid = b.bid
完整性连接 Full Join或Full Outer Join
返回:左表和右表的所有行
示例:SELECT * FROM a FULL JOIN b ON a.aid = b.bid
内连接 Inner Join
返回:左表和右表匹配的行
示例:SELECT * FROM a INNER JOIN b ON a.aid = b.bid
交叉联接 Cross Join
返回:两个表中每个可能成对的行占一行,不论它们是否匹配
示例:SELECT * FROM a CROSS JOIN b
系统操作
1、执行DOS命令dir
xp_cmdshell 'dir'
2、添加windows用户,EKIN为用户名,1234为密码
xp_cmdshell 'net user EKIN 1234 /add'
3、删除windows用户EKIN
xp_cmdshell 'net user EKIN /delete'
4、修改管理员密码
xp_cmdshell 'net user administrator 9527'
浙公网安备 33010602011771号