sql常用语句
2017-09-26 16:52
381 查看
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 //列名或表名的重命名 ///////////设置筛选器 表——筛选器——筛选设置——创建日期——大于等于——开始建表的日期 ///////
相关文章推荐
- mysql 数据库中常用的sql语句
- MySql 基础知识-常用命令及sql语句
- SQL之mysql常用操作语句(入门级)
- iBatis2 SqlMap中常用sql语句
- SQL SERVER 常用 T-SQL 语句
- 浅谈MySQL中优化sql语句查询常用的30种方法
- sqlite数据库中常用的sql语句
- 常用sql语句
- 常用的sql语句
- Mysql 常用sql语句汇总
- 常用sql语句(备忘)
- SQL常用语句,子查询整理
- Mysql运维与分析--常用SQL语句
- MySQL中优化sql语句查询常用的种方法
- SQL常用语句
- SQL Server管理常用SQL语句
- Mysql常用30种SQL查询语句优化方法
- 常用SQL语句
- 【转】SQL常用的语句和函数
- mysql数据库常用的基本SQL语句--数据库表操作