感觉比较喜欢使用查询分析器,所以就必须记得代码,因此把常用的代码列出来,万一忘记了随时过来查,时间久了难免生疏。
1.数据库中使用默认,和标识
例如:create table Product
(id int not null identity(0,1),--这里我们使用了标识,种子为0,增量为1
protime smalldatetime not null default gettime() --这里就是使用系统函数gettime()把插入数据时候的时间给它,当然如果这里默认值是常量或者是字定义 的函数,直接替换gettime()的位置就可以了)
2.创建默认对象,把默认绑定到某一列上,系统函数convert
例如:create default PD_protime
as convert(varchar(50),gettime(),102) --建立一个默认对象
exec sp_bindefault PD_protime,'Product.protime' --执行存储过程,把默认绑定到表Product的protime上面
3.创建执行函数以及删除函数,以及replace用法
例如:--记得这个是我利用当前日期生成的一个定单的函数
(1)create function Getorder() --定义函数名
returns varchar(50) --定义返回值类型,注意要写类型
as
begin --以下为函数体
declare @order varchar(50) --声明一个变量
set @order=(CONVERT (varchar(50), getdate (),13))
set @order=replace(@order,':','')
set @order=replace(@order,' ','')
return @order
end --这个函数是没有输入参数的函数
(2)select dbo.Getorder() as ordernum --这里是执行这个函数,并且赋予别名ordernum这里也必须要有dbo
(3)drop function dbo.Getorder() --这里是删除 函数 必须要有dbo. 注意这里不要()
4.往表中增加列,并且把自定义的函数设置为其默认值
例如:alter table Product
add ordernum varchar(25) not null default dbo.Getorde() --这里ordernum为列名,dbo.Getorde()为我们自定义的 函数
5.研究了一下主键外键的关系,困扰已久的问题终于解决了.主表修改或者了主键,那么从表的外键对应的记录值跟着修改或者删除
例如:这里我们建立表table1字段为id(本表的主键) username(外键) sex
再建立一个表table2 字段为username(主键) adrress
这里table1是从表, table2是主表,在建立外键关系之后,如果update和delete都为无操作的情况下,不允许修改和删除主表 的username字段,但是在从表table1里 面的username字段的值一定要在table2中找到,否则插入出错,但是如果把它设置为'级 联'的话,那么只要修改或者删除了主表的username字段的记录,那么table1的对应的 记录跟着修改或者删除
6.使用命令建立主键和外键的关系(用命令修改级联关系,修改表建立外键?)
use shoeshop
go
create table UserMessage
(id int not null identity(0,1) primary Key ,
umessage text not null,
phone varchar(50) ,
email varchar(50)
)
go
create table ManMessage
(id int not null identity(0,1) primary key,
mmessage text not null,
uid int not null foreign key references UserMessage(id) on delete cascade
)
7. 使用存储过程,读取存储过程返回参数
declare @messag nvarchar(50)
--这里如果存在的话在结果那里显示查询结果,在消息那里显示@messag,不存在也在消息那里显示@messag
exec user_login @username='yke',@password='6694030',@message=@messag output
print @messag
8.查询卖出量最多的商品的sql语句
create procedure Pro_topsale
as
select top 10 * from Product order by salenum
9.复制表到另外的表,包括结构和内容,表原来不存在(fivesixsevenresult新表)
select * into fivesixsevenresult from arrangecourseresult
浙公网安备 33010602011771号