CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
where str like '%df%' //模糊查询 //返回数据表中包含df的行
//报错:列名 'CreateTime' 不明确
如果按下列语句,是会报错的:select id,a.name,b.name from table1 a,table2 b where a.id=b.id
此时,由于select后的id并未指明出处,所以就报错,正确改法:select a.id,a.name,b.name from table1 a,table2 b where a.id=b.id
//报错:从varchar数据类型到datetime数据类型的转换产生一个超出该范围的值
由于日期超出了范围。比如2月只有28天,要转换的varchar是'2015-02-30'就会报这个错。
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA //sql服务器存放数据库的目录 //还原数据库的时候,文件已存在会出错,删掉即可
alter table fxlog add paytime varchar null default ''; //varchar(1)
insert Lxlog values('123','asdfsdaf') //插入数据
CREATE TABLE Lxlog( --创建表
ID INT NOT NULL IDENTITY(1,1),
cardId VARCHAR (20) NOT NULL,
log varchar(20) NOT NULL,
PRIMARY KEY (ID)
)
//double对应float //不限制小数位
sql登录
(local) //付费版
.\SQLEXPRESS //免费版
//1=1 //防止where后面直接加个and出错
//1=1防止“where and id=3”的情况下出错
where 1=1 and id=3 //使用方法
where 1!=1 or id=3 //使用方法
//sql数据库可以存千万条数据
//bit //bool类型 //只能存零和一
insert into RefererSetup([df]) select [df] from RefererSetup where Id=2 //同表复制行
//
SELECT LastName,FirstName //不同的表复制行
INTO Persons_backup
FROM Persons
///
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
/
inner join //两张表组合起来 //内连接
left join //以左边为准
CONVERT(varchar,sxrqY)+'-'+CONVERT(varchar,sxrqM)+'-'+CONVERT(varchar,sxrqD) like @x //类型转换加拼接
declare @x nvarchar(100)
select @x='%点%'
select * from bx where bxhth like @x
///
//需要备份文件夹有“Authenticated Users”的读写权限
//备份数据库
BACKUP DATABASE pet //BACKUP DATABASE pet TO disk = 'd:\1.bak' WITH FORMAT,NAME = 'df:573270407'
TO disk = 'd:\1.bak'
WITH FORMAT,
NAME = 'df:573270407'
//还原数据库
USE master
GO
RESTORE DATABASE pet
FROM disk = 'd:\1.bak'
GO
//查看备份文件
REstore filelistonly from disk='d:\1.bak'
/
--alter table Shop add zjxe int null; //动态添加表段
--alter table Shop DROP COLUMN zjxe; //动态删除表段
alter table SysArguments add isZDYSX tinyint not null default 0; //创建一个字段并添加默认值
tinyint //一个TINYINT型数据只占用一个字节,一个INT型数据占用四个字节 //c#可用byte类型接收
select * from x where xx is null //将null作为条件
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Backup\ //备份默认路径
decimal(3, 1) //整数和小数总共三位,保留一位小数,总位数超过三位会报错,比如,输入123.1会报错
varchar、nvarchar //可变长度
char、nchar //固定长度
//varchar(50)\char(50),输入九个字符,varchar就占用9个,char依然是50个
//char(10)、varchar(10) //五个汉字
//nchar(10)、nvarchar(10) //十个任意字符(汉字、字母、数字)
//VARCHAR型字段可以比CHAR型字段占用更少的内存和硬盘空间,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。
select * from (SELECT * fROM cx union All SELECT * fROM cix union All SELECT * fROM sx union All SELECT * fROM jgx) t where bxhth=123123 order by clrqY desc //把查询结果作为表进行查询
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer //分组累加
create view df //创建视图 //会创建一个表
as
SELECT * fROM cx union All SELECT * fROM cix union All SELECT * fROM sx union All SELECT * fROM jgx
select * from df where bxhth='123123' //调用视图
//UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
SELECT column_name(s) FROM table_name1 //不允许重复
UNION
SELECT column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1 //允许重复
UNION ALL
SELECT column_name(s) FROM table_name2
SELECT COUNT(*) FROM table //查询表的行数
select * into xx from qc //复制一个表 //对象资源管理器——数据库——表——右键刷新
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename //复制全表
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename
//复制字段
select DepthCode,* from model where DepthCode is null //条件为null的查询
declare @表名 int //动态删除表
set @表名=9
while @表名<900000
begin
exec('DROP TABLE CustomData_'+ @表名)
set @表名=@表名+1
end
sp_helptext 'P_Init_CreateComp' //搜素存储过程
exec [P_Init_CreateComp] 418,'admin','49BA59ABBE56E057','18888888888','18888888888','金融贷微商城 ','金融贷微商城 ','金融贷微商城 ','金融贷微商城 ',
20160830130619,'' //在server2中建立新公司 //由server2中的数据库连接字符串,找到公司的表 //在公司的表调用存储过程 //存储过程在公司的表中添加管理员,以及默认分店、默认操作员、插入系统短信模版
SELECT LEN(column_name) FROM table_name //查询字段大小
//select LEN('df')
truncate table SmsTimed //清空表
select 'df' //输出字符串
select '['+cast (id as nvarchar(100))+']' from Order1 //sql拼接字符串 //字符串要用单引号,使用双引号会被当成字段名 //需要拼接的内容都是字符串,不是的话需要将其转化为字符串
select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name //sql判断
datediff( DAY, csym,'2016/11/1 0:00:00')%2 //负数的余数始终为0
select csym,ymzq from MemCard where CompID=315 and (datediff( DAY, csym,'2016/9/9 10:40:03')=ymzq or datediff( DAY, csym,'2016/9/9 10:40:03')=0) //where xx1 and (xx2 or xx3),将“xx2 or xx3”当成一个条件
select csqc,qczq from MemCard where CompID=315 and 19-substring(csqc,0,charindex('.',csqc))=qczq //19-substring(csqc,0,charindex('.',csqc))=qczq ,通过减法的返回值进行判断
select csqc,qczq from MemCard where CompID=315 and csqc =' 9.8' //此语句查不到csqc ='9.8'的数据,因为sql把字符串里的空格也当成了条件的一部分
list.Add(new { t = dr.GetString(0), z = dr.GetInt32(1), bt = (1 == 1 ? "公历" : "农历") });// dr.GetString(0),对应的数据库的字段的类型也要是string
sql(Structured Query Language) //结构化查询语言
declare @str nvarchar(100) //定义变量
select @str='4.1' //变量赋值
select substring(@str,0,charindex('.',@str)) //输出变量里第一个“.”前面的字串
select substring(@str,charindex('.',@str)+1,len(@str)) //输出变量里第一个“.”后面的字串
//sql里选中一行语句,按Alt+X则单独运行这一行语句
select substring(csym,0,charindex('.',csym)) as df,substring(csym,charindex('.',csym)+1,len(csym)) as df from MemCard where Id=129241 and substring(csym,0,charindex('.',csym))=4 and substring(csym,charindex('.',csym)+1,len(csym))=1
//substring(csym,0,charindex('.',csym)),返回csym里第一个“.”前面的字串;substring(csym,charindex('.',csym)+1,len(csym)),返回csym里第一个“.”后面的字串
alter table SysArguments add zjxe tinyint null; //短整型 //tinyint占一个字节,而int占四个字节
SELECT datediff( DAY, cssr, '2016/5/3' ) as df,cssr from MemCard where datediff( DAY, cssr, '2016/5/3' )>0 //datediff( DAY, 时间1, 时间2 ),返回时间2减去时间1的值,返回值可以是负数
select DATEPART(yy,cssr) as nian,* from MemCard where Id=129241 and DATEPART(yy,cssr)=2013 //DATEPART(yy,cssr) as nian,截取datetime中的年,并重命名为nian
///
create view v_MemCard //创建视图
as
select MemCard.*, DATEPART(DAY, cssr) as tian, DATEPART(MM, cssr) as yue from MemCard
select * from v_MemCard //调用视图
//对于存有数据datetime的字段,可以直接在设计器里将其换成string,不会出错
数据库——视图——v_memberlist //蓝色的是关键字(如:select、from、on),绿色是表和字段名(如:“MemLevel ml”、“a.*,s.ShopName,ml.LevelName”) //存储过程有时会跟视图绑定,如果视图里的表更改了结构(增加、删除字段,修改字段名),那么sql的查询结果就会出错 //视图存在缓存,存储过程会运行上一次视图成功执行的而生成的结果 //更改了视图结构就要重新成功执行一遍视图
DELETE FROM master WHERE CompID<>315 //删除CompID不等于315的数据
int null //支持-2147483648~+2147483647(2的31次方)之间的数值 //32位(32个“01”,第一对“01”是代表正负,去掉第一对,剩下31对“01”,所以他的数值是2的31次方)
update Shop set zjxe='0' //更新所有的zjxe字段
diag.URL = "/Onlines/Shop/ShopParaSet?id=" + id ; //
update master set ShopID='1' where Id='2'
//sql还原数据库(使用windows登录)没有权限,可使用sa(超级管理员),有些sa无法使用,解除禁用即可
工具——选项——设计器——阻止保存要求重新创建表的更改(取消勾选) //解决数据库无法更改的问题
DBCC CHECKIDENT ('master', RESEED, 2) //设置master表的当前的id从2开始自增
//给表中添加新字段
alter table MemCard add ZhiWenYi varchar(8000) null;
go
//
delete from master where Id between 700 and 2000
/
select * from gsjieshao where id=(SELECT g.id as gsid fROM gsjieshao g left join hyglxitong h on g.id=h.gsid where h.id=3) //嵌套查询
SELECT g.name as gsname,h.*,g.* fROM gsjieshao g left join hyglxitong h on g.id=h.gsid where h.id=3
//左查询
select p.name as pname,b.name as bname,g.name as gname,k.name as kname,* from pinpai p left join banben b on p.id=b.id left join gongneng g on p.id=g.id left join kaifa k on p.id=k.id //多表左查询
select * from content order by DateAndTime desc
SELECT * FROM ( SELECT ROW_NUMBER() OVER (order by T.ID) AS Row, T.* FROM Content T) TT WHERE TT.Row between 1 and 6
SELECT * FROM ( SELECT ROW_NUMBER() OVER (order by T.ID) AS Row, T.* FROM hyglxitong T where t.pp=1 and t.bb=1 and t.gn=1 and t.kf=1) TT WHERE TT.Row between 1 and 55
select row_number()over(order by id) as r,a.* from Content a; //添加自动排序的表段,并给表重命名
SELECT T.* FROM Content T //给表重命名为"T"
select a.* from Content a where id between 1 and 20000 //查询id在1到20000的数据
//如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' //例子
UPDATE Content set FileUrl = '/Areas/会员管理软件/images/icon.png' WHERE CatalogID=612 //软件图片
update Content set LinkUrl='http://www.baidu.com' where CatalogID=608 //友情链接
select * from Content where CatalogID=612
SELECT * FROM(SELECT ROW_NUMBER() OVER (order by T.DateAndTime desc)AS Row, T.* FROM Content T left join Catalog c on t.catalogid=c.catalogid WHERE 1=1 and c.ParentID=610 ) TT WHERE TT.Row between 1 and 8
SELECT 字段 FROM 表 WHERE 某字段 Like 条件 //模糊查询
SELECT * FROM Content WHERE Title Like '%人%' //查找出包含“人”的字段
SELECT * FROM Content WHERE Title Like '%人%' or laiyuan like '%1%' //多列名模糊查询
select * from ( SELECT ROW_NUMBER() OVER (order by T.ID desc) AS Row, T.* FROM yjdongtai t where t.name Like '%v%' or t.laiyuan like '%1%') tt where tt.Row between 1 and 10
select top 3 * from ( SELECT ROW_NUMBER() OVER (order by T.ID desc) AS Row, T.* FROM Content t left join Catalog c on t.catalogid=c.catalogid where c.ParentID=604 and t.Title Like '%什%') tt where tt.Row between 1 and 6
select * from content t left join Catalog c on t.catalogid=c.catalogid where c.ParentID=604 and t.Title Like '%什%'
select * from content t left join Catalog c on t.catalogid=c.catalogid where c.ParentID=604 and t.ID=3747
select * from content t left join Catalog c on t.catalogid=c.catalogid where c.ParentID=604
"select * from ( SELECT ROW_NUMBER() OVER (order by T.ID desc) AS Row, T.* FROM Content t left join Catalog c on t.catalogid=c.catalogid where c.ParentID=" + ParentID + " and t.Title Like '%" + like + "%') tt where tt.Row between "+start+" and "+stop
select (row_number()over(order by id))i,* from column2_img
//
select row,ttt.* from (select ROW_NUMBER() over(order by t.fabutime desc) as row,t.* from yjdongtai t) ttt where ttt.row
between
(select row from (select ROW_NUMBER() over(order by t.fabutime desc) as row,t.* from yjdongtai t) tt where tt.ID=1)-1
and
(select row from (select ROW_NUMBER() over(order by t.fabutime desc) as row,t.* from yjdongtai t) tt where tt.ID=1)+1
SELECT * fROM gsjieshao g left join hyglxitong h on g.id=h.gsid where h.id=3 //将多个表通过某个字段联系在一起
SELECT g.name as gsname,* fROM gsjieshao g //列名或表名的重命名
///设置筛选器
表——筛选器——筛选设置——创建日期——大于等于——开始建表的日期
///
sql常用语句
最新推荐文章于 2024-09-03 10:40:35 发布