create database MyDatabseOne;	--创建数据库
drop database MydatabaseOne; --删除数据库; --如果直接点"执行"将是执行所有语句,而选中某些则是单独执行
--以下代码创建数据库的初始值
create database MydatabaseOne --创建数据库
on primary
(
--配置主数据文件
name='MydatabaseOne', --主数据文件的逻辑名称
filename='C:\Users\Rao\Desktop\MydatabaseOne.mdf', --主数据的实际保存路径
size=3mb, --主数据的初始大小
maxsize=100mb, --主数据库的最大大小
filegrowth=20% --主数据库每次增长的大小(最后一个可以不用逗号)
)
log on
(
name='MydatabaseOne_log',
filename='C:\Users\Rao\Desktop\MydatabseOne_log.ldf',
size=1mb,
filegrowth=1mb
) --建一表,为员工表
use School
create table Employess
(
EmpID int identity(1,1) not null,
EmpName nvarchar(50) not null,
EmpGender nchar(1) not null,
EmpAge int,
EmpJoinDate date,
EmpPhone nvarchar(11) not null
)
--另一表,部门,将引
create table Department
(
DepID int identity(1,1) not null,
DepName nvarchar(50) not null
)
--阅表
select * from Department
select * from Employess --增之为Dep
insert into Department values('中国市场研发部')
--增之为Emp
insert into Employess values('Heil','女',28,'2016-12-31','12345678901')
--删其一列
--自动编号
set identity_insert Department on
insert into Department(DepID,DepName) values(3,'erro')
set identity_insert Department off --修改
update Employess set empage=28,EmpJoinDate='2017-01-01',EmpPhone='159357852' where EmpName='Heil'
--以条件删,无则全删,如需高效,truncate table Department
delete from Department where DepName='erro' --删列
alter table Employess drop column EmpJoinDate
--增列
alter table Employess add EmpJoinDate nvarchar(50)
--修改数据类型
alter table Employess alter column EmpPhone nvarchar(20)
--增列主键约束
alter table Employess add constraint PK_Employess_EmpID primary key(EmpID)
--增非空约束
alter table Employess alter column EmpAge nvarchar(20) not null
--增唯一约束
alter table Employess add constraint UQ_Employess_EmpName unique(EmpName) select * from Employess
delete from Employess where EmpName='Heil' --增加默认约束
alter table Employess add constraint DF_Employess_EmpGender default('男') for EmpGender
--增加检查约束
alter table Employess add constraint CK_Employess_EmpGender check(EmpGender='男' or EmpGender='女')
alter table Employess add constraint CK_Employess_EmpAge check(EmpAge>18 or EmpAge<=35)
select * from Employess
update Employess set empIDCard='123456789111111'
alter table Employess add EmpIDCard nvarchar(18)
alter table Employess alter column EmpIDCard nvarchar(18) not null
alter table Employess add constraint CK_Employess_EmpIDCard check(len(EmpIDCard)=15 or len(EmpIDCard)=18) --主键约束
alter table Department add constraint PK_Department_DepID primary key(DepID)
--外键约束
alter table Employess add DepID int
update Employess set DepID=1
alter table Employess alter column DepID int not null
alter table Employess add constraint FK_Employess_Department foreign key(EmpID) references Department(DepID) --弃约
alter table Employess drop constraint
CK_Employess_EmpIDCard,
FK_Employess_Department
--多增约束
alter table Employess add
constraint FK_Employess_Department foreign key(EmpID) references Department(DepID),
constraint CK_Employess_EmpIDCard check(len(EmpIDCard)=15 or len(EmpIDCard)=18)
---------------查询 ---查询整表
--*号为所有行所有列均查询
select * from TblStudent
--查询某些列
select tsid,tsname,tsgender from TblStudent
--条件查询行
select tsid,tsname,tsgender from TblStudent where tSClassId=2
--为查询结果的列起别名(as一般情况可省略,但如果列名中有非法字符,可用引号将别名引起来'(学生编号)',
--或者可以 学生编号=tsid
--也可随意增加一个别名列如 婚否='否')
select
tsid as 学生编号,
tsgender as 性别,
tsphone as 联系电话
from TblStudent select 当前时间=GETDATE() --去除查询结果中的重复项(distinct只能去除查询结果之后的重复)
select distinct tsname,tsgender from TblStudent ---------排序
--按照年龄,降序(desc)升序为(asc ,空会在最前,默认不写为升序)
select *from TblStudent order by tSage desc
--查询年龄最小的前3个
select top 3 * from TblStudent order by tsage
--表达式需要()
select top (1+3) * from TblStudent order by tsage
--取前百分比(如不为整数,则向上取整,例如3.0取3,而3.1%取4)
select top 3 percent *from TblStudent order by tsage -----聚合函数,不统计空值
--查询最大值
select max(tsage) from TblStudent
--查询最小值
select min(tsage) from TblStudent
--查询总和
use School
select sum(tsage) from TblStudent
--统计多少条数据(*可以为任意值,空不统)
select count(*) from TblStudent where tSClassId=1
--平均值
select avg(tsage*1.0) from TblStudent select 年龄最大=max(tsage),年龄最小=min(tsage),平均年龄=avg(tsage),总条数=count(tsage) from TblStudent select * from TblStudent
--between and 等价于 and
select tsname from TblStudent where tSage between 13 and 17
select tsname from TblStudent where tsage>=13 and tsage<=17 --in 等价多or 但如果查询的是如(3,4,5)此类连续数据,可以直接tsclassid>3 and tsclassid<5,此法更高效
select * from TblStudent where tSClassId in (1,3,30)
---模糊查询- _ % ^ [] ([-]筛选范围)
-- _ 表示任意单个字符
select * from TblStudent where tSName like '张_'
-- % 任意多个任意字符
select * from TblStudent where tSName like '张%'
--查询所有带%(注:%是一个通配符,所以需要用[]转义)的数据
select * from TblStudent where tSName like '%[%]%' --自定义转义符(例中指定\后为转义字符,其后的紧跟字符为普通字符,不再是系统默认
select * from TblStudent where tSName like '%\[%' escape '\'
use School
select * from TblStudent
select * from TblStudent where tSAddress=null
--查询空值,以is null / not null 仅针对数值类型,字符串类型如为空则不为null
select * from TblStudent where tSAddress='null'
--任何值和null计算后所得结果亦为null
select 2000+null
---通过order by排序,一定要在整个SQL语句的最后(在where之前)
--降序用desc ,升序用asc(亦可为空)
select tsage from TblStudent order by tsage desc
select * from TblStudent
--双降序
select * from TblStudent order by tsage desc,tSClassId
--统计每个ID下的人数
select 班级ID=tsclassid,班级人数=count(*) from TblStudent group by tSClassId
select 性别=tsgender,人数=count(*) from tblstudent group by tsgender
--统计班级中id下男同学的个数
--使用group by(当使用了此分组语句时,不能再包含其它列的查询,除非此列也出现在聚合函数中)
select 班级ID=tsclassid,男同学人数=count(*) from TblStudent where tSGender='男' group by tSClassId
use School
select 班级ID=tsclassid,男同学人数=count(*),男同学平均年龄=AVG(tsage) from TblStudent where tSGender='男' group by tSClassId ----having与where的区别,where以什么进行分组,而having是分组之后进行筛选
---只保留班级人数大于1的
select
班级ID=tsclassid,
班级人数=count(*)
from TblStudent
group by tSClassId
having count(*)>1 select '100+1100' -------------类型转换函数------------
--cast cast(原数据 as 新类型)
select 100.0+cast('1000' as int)
--convert(数据类型,原数据)
select 100.0+convert(int,'1000')
select '您的班级编号:'+convert(char(1),1) -----联合union----
--联合的数据列的类型必须一致
--union all 不会对联合的数据去除重复,并且不会排列
--union 会去除重复,并且排列
--大多数的时候不需要去除重复,也并不需要重新排列,所以一般建议使用union all
select tsname,tSId from TblStudent
--union all
select ttname,tTId from TblTeacher
----使用union all插入数据
select * from TblTeacher insert into TblTeacher
select '李四',0,30,4000,'1986-1-1'
union all
select '王五',0,30,4000,'1986-1-1'
select '李四',0,30,4000,'1986-1-1'
union all
select '王五',0,30,4000,'1986-1-1' ------备份表------
use School
----从TblStudent表查询所有列并插入到一张新表中
----约束不会复制
select * into TblStudent2017 from TblStudent
select * from TblStudent2017
drop table TblStudent2017
----只复制表结构
select top 0 * into TblStudent2017 from TblStudent ----向表中追加数据
insert into TblStudent2017 values('date','男','湖北','13855968545',26,'1991-12-15',1,1)
select * from TblStudent
---追加数据
insert into TblStudent2017
select tsname,tsgender,tsaddress,tsphone,tsage,tsbirthday,tSCardId,tsclassid
from TblStudent
where tSGender='女' -------------------常用字符串函数-------------.
------1.计算字符的个数
print len('HI,how are you')
------2.返回所占用的字节的个数,非字符串
print datalength('HI')
------3.upper(),lower(),大小写
print upper('hi')
print lower('HI')
------4.去掉两端空格ltrim()去掉左端,rtrim()去掉右端空格
print '==========='+rtrim(ltrim(' Hello '))+'==============='
------5.字符串截取函数
print left('hihihi',2)
print right('hihiii',2)
print substring('abcdefg',1,1) --下标从1开始,如果下标小于1,则往前会推一个空值 -----------日期函数--------
print getdate()
print sysdatetime()
----dateadd()增加时间
---增加天数,100天,从当前时间 month 月 year 年 minute分钟 second秒 hour小时
print dateadd(day,100,getdate()) -----查询大于30岁的人
select * from TblStudent
select * from TblStudent where dateadd(year,30,tSBirthday)<=GETDATE() --datediff()计算 两个日期 的差
print datediff(year,'1990-12-15',getdate())
print today() ---计算学生年龄
select * from TblStudent
select *, 年龄=DATEDIFF(year,tsbirthday,getdate()) from TblStudent
select 年龄=DATEDIFF(year,tsbirthday,getdate()),人数=count(*) from TblStudent
group by DATEDIFF(year,tsbirthday,getdate()) ----获取日期部分
print datepart(year,getdate())
print datepart(dayofyear,getdate()) --获取自开始至目前的天数 ---datename()
print datename(year,getdate()) --同样打印出当前年,但不同于以上,此为打印的字符串形式,无法进行与其它数值类型计算 ----*不在要表中,无法执行--
----计算本月呼叫员拨打电话的时间,取前三名
select * from CallRecords
top 3 --取前三名
呼叫员编号=CallNumber,
呼叫员时长=datediff(second,starttime,endtime)
where datediff(month,satarttime,endtime)=0 --表示本月
group by CallNumber --按照呼叫员来分组
order by 呼叫员时长 desc --以呼叫员时长排序,降序 select * from TblStudent
delete from TblStudent where tsname='vs2015' update TblStudent set tSName='吴广' where tSName='weweew'
select tsname from tblstudent select * from person
insert into person values('测试','男',18)
select count(*) from person select * from usertable select count(*) from usertable where username='admin' and userpwd='admn' insert into person
select 'add','男',21
union all
select 'add','男',21
union all
select 'add','男',21
union all
select 'add','男',21 use school
select * from person
-----获得刚刚插入语句的自动编号
insert into person output inserted.PId values('ggg','男',30)
select * from UserTable select * from usertable where username='aa' or 1=1;insert into UserTable values('ggg','ggg') --'
select * from usertable where username='aa' or 1=1;insert into UserTable values('ggg','ggg','ggg') --' select count(*) from usertable where username='admin' and userpwd='admin' insert into Person(PName,PGender,PAge) values('dsfkjds','男',30)
update Person set PName='111' where PId=2
select count(*) from UserTable select * from NoteBookList where NParentID=-1 select dConet from book where dName='C#从入门到精通' select * from book
insert into book values(14,'盛世婚宠','2017-03-25','2616','2017-03-25',0) use School select * from UserTable select * from Phonegroup
select * from PhoneNumber --内连接查询
select pname,pgender,phone,pgroup from PhoneNumber join Phonegroup on phoneGroup.pid=phonenumber.parentid select * from Person use school select PhoneNumber.pid,pname,pgender,page,phone,pgroup,PhoneGroup.PId from PhoneNumber join Phonegroup on phoneGroup.pid=phonenumber.parentid ---case的用法----
----相当于C#中的if else 此项可以区间判断
--then后面的数据类型全部必须一致
select * ,
级别=case
when Level=1 then '菜鸟'
when level=2 then '老鸟'
when level=3 then '烤鸡'
else '骨灰'
end
from BBSLevel
--相当于C#中的switch 此项只能等值判断
select * ,
级别=case level
when 1 then '菜鸟'
when 2 then '老鸟'
when 3 then '烤鸡'
else '骨灰'
end
from BBSLevel --练习
select
ttname,
ttage,
tTSalary,
工资级别=case ttsalary/1000
when 1 then '水货'
when 2 then '一般'
when 3 then '还行'
when 4 then '不错'
else '牛人'
end
from TblTeacher create table TestA
(
A int,
B int,
C int
)
insert into testA values(10,20,30)
insert into testA values(20,30,10)
insert into testA values(30,10,20)
insert into testA values(10,20,30) select * from TestA
--A列大于B列显示A列值,B列大于C列显示C列的值
select
X=case
when A>B then A
else B
end,
Y=case
when B>C then C
else C
end
from TestA create table test
(
number varchar(10),
amount int
)
insert into test(number,amount) values('RK1',10)
insert into test(number,amount) values('RK1',20)
insert into test(number,amount) values('RK1',-30)
insert into test(number,amount) values('RK1',-10) select
单号=number,
收入=case
when amount>0 then amount else 0
end,
支出=case
when amount<0 then abs(amount) else 0
end
from test select * from teamscore select
队名=teamName,
胜=sum(case
when gameresult='胜' then 1 else 0
end),
负=sum(case
when gameresult='负' then 1 else 0
end)
from teamscore
group by teamname select * from nbascore select
队伍名称=teamName,
第1赛季得分=sum(case
when seasonname='第1赛季' then score
end),
第2赛季得分=sum(case
when seasonname='第2赛季' then score
end),
第3赛季得分=sum(case
when seasonname='第3赛季' then score
end)
from nbascore
group by teamName ---分页查询--
--row_number() over ()
select * from TblStudent2017
---确定以年龄升序排序进行编号
select *,rn=ROW_NUMBER() over (order by tsage asc) from TblStudent2017
--将编好号的查询语句当子查询语句进行查询
--每页3条,查询第3页为 (3-1)*3+1 至 3*3
select *
from (select *,rn=ROW_NUMBER() over (order by tsage asc) from TblStudent2017)
as t where t.rn between (3-1)*1+1 and 3*3 select count(*) from TblStudent2017
.
SELECT * FROM Person ------------------------TSQL编程-----------
--1.声明变量
declare @name nvarchar(50)
declare @age int
declare @gender nchar(1),@id int
--2.为变量赋值
set @name='xxoo'
select @age=18
select @gender='男',@id=1
--3.输出
select 姓名= @name
select 年龄= @age
select 性别=@gender,@id ----while循环
declare @i int=1
while @i<=100
begin
print @i
set @i=@i+1
end --计算1-100的和
declare @i int=1
declare @sum int=0
while @i<=100
begin
set @sum=@sum+@i
set @i=@i+1
end
print @sum --计算1-100之间所有整奇数与偶数的和
declare @j int=1
declare @jsum int=0
declare @osum int=0
while @j<=100
begin
if @j%2 =0
begin
set @osum=@osum+@j
end
if @j%2<>0
begin
set @jsum=@jsum+@j
end
set @j=@j+1
end
print @osum
print @jsum --一般情况下两个@@是系统变量,但如果是手动声明的,则为全局变量
print @@LANGUAGE ---------事务
--转账示例
select * from bank
begin transaction
declare @sum int =0 --声明变量用来保存如果出错的条数
update bank set money=money+10 where id='001'
set @sum=@sum+@@error --确定是否有出错,有则加上
update bank set money=money-10 where id='002'
set @sum=@sum+@@error
if @sum<>0 --如果不等于0,则有出错
begin
rollback --让所有操作回滚
end
else
begin
commit --提交所有操作
end ---------------存储过程
------------相当于方法
--------1.无参无返回值的
create proc usp_select_tblteacher_salary
as
begin
select * from TblTeacher where tTSalary>2000
end
--调用存储过程
exec usp_select_tblteacher_salary -----2.带参数的存储过程
create proc usp_add
@num1 int,
@num2 int
as
begin
select @num1+@num2
end
--调用
exec usp_add 100,1 ---带返回值的(输出参数)
alter proc usp_count
@count int output
as
begin
set @count=(select count(*) from TblStudent)
end
--调用
declare @cont int
exec usp_count @count=@cont output
print @cont ---构建分页查询的存储过程
alter proc usp_bank
@pagesize int=7, --每页显示条数
@pageindex int=1, --当前查看第几页的记录
@pagecount int output, --总条数
@tablecount int output --总页数
as
begin
select *
from (select *,rn=ROW_NUMBER() over(order by Money asc) from bank) as t
where t.rn between (@pageindex-1)*@pagesize+1 and @pageindex*@pagesize
--计算记录的总条数
set @pagecount=(select count(*) from bank)
--计算总页数,向上取整
set @tablecount=CEILING(@pagecount*1.0/@pagesize)
end -----C#dal调用
public List<NewListMl> PageFromProc(int pageIndex,int pageSize,string typeID,out int total)
{
SqlParameter pi = new SqlParameter("@pageIndex", pageIndex);
SqlParameter ps = new SqlParameter("@pageSize", pageSize);
SqlParameter ti = new SqlParameter("@tyID", typeID);
SqlParameter to = new SqlParameter("@total", System.Data.SqlDbType.Int);
to.Direction = System.Data.ParameterDirection.Output; SqlParameter[] pms =
{
pi,ps,ti,to
};
//调用方法得到数据
List<NewListMl> list= GetListModel("LoadPage", System.Data.CommandType.StoredProcedure, pms);
//得到存储过程输出的总条数
total = (int)to.Value;
return list;
} declare @pc int
declare @pt int
exec usp_bank @pagesize=6,@pageindex=5,@pagecount=@pc output,@tablecount=@pt output
print @pc
print @pt --------------------------------------------set与select的区别
declare @a int
--set @a=(select count(*) from bank)
select @a=count(*) from bank
print @a ----当查询语句得到多个值的时候,则set会报错,而select会得到最后一个查到的值
declare @a int
--set @a=(select money from bank)
select @a=money from bank
print @a --------------------------------------------转账示例(存储过程+事务)
alter proc usp_zz
@decimal int ,--转出/收到钱数
@zid1 nvarchar(4), --转账编号
@zid2 nvarchar(4), --/收账人编号
@reslut int output --判断是否转账成功,1,表示成功,2.表示失败,3.表示余额不足,4,表示不存在转账的id
as
begin
-------判断是否存在编号
declare @count1 int --声明一个变量,用来存储是否有收账人编号
select @count1=count(*) from bank where id=@zid1 --如果有,则返回1,没有则为0
declare @count2 int ----声明一个变量,用来存储是否有收账人编号
select @count2=count(*) from bank where id=@zid2 --如果有,则返回1,没有则为0
if @count1<>1 or @count2<>1 --判断其值是否1,有一个不为1,则为false,此处为为false
begin
set @reslut=4 --为false,则有一个编号是没有,即返回4
end
else --如果有,则继续以下代码
begin
--1.判断金额是否足够
declare @money int
select @money=money from bank where id=@zid1
if @money-@decimal>=10
begin
--开始转账
begin transaction
declare @sum int =0
--1.加钱
update bank set money=money-@decimal where id=@zid1
set @sum=@sum+@@ERROR
--2.扣钱
update bank set money=money+@decimal where id=@zid2
set @sum=@sum+@@ERROR
--3.判断是否成功
if @sum<>0
begin
set @reslut=2 --转账失败
rollback
end
else
begin
set @reslut=1 --转账成功
commit
end
end
else
begin
set @reslut=3 --余额不足
end
end
end --------------------------------------------------------------------------
declare @isok int
exec usp_zz @decimal= 20,@zid1= '004',@zid2='001',@reslut=@isok output
print @isok
select * from bank select count(*) from bank where id='001' declare @count1 int
select @count1=count(*) from bank where id='001'
print @count1 declare @count2 int
select @count2=count(*) from bank where id='002'
print @count2
declare @isok int
if @count1<>1 or @count2<>1
begin
set @isok=0
end
else
begin
set @isok=1
end
print @isok
----------------------------------------------------------------------
--------------增删改查的存储过程封装-----------------------------
-----以Table表为例
--select * from [Table]
----增加
create proc usp_insert_table
@name nvarchar(50),
@desc nvarchar(500)
as
begin
insert into [Table] values(@name,@desc)
end
------
exec usp_insert_table '高二一班','这是我第一个新建的' -----删除(根据班级编号)
create proc usp_delete_table
@id int
as
begin
delete from [table] where 班级编号=@id
end
-----
exec usp_delete_table 1 ----修改(根据班级编号)
create proc usp_update_table
@name nvarchar(50),
@desc nvarchar(500),
@id int
as
begin
update [table] set 班级名称=@name,班级描述=@desc where 班级编号=@id
end
----
exec usp_update_table '高二二班','这是我修改过的',1 ---查询
create proc usp_select_table
as
begin
select * from [table]
end -- 让字段区分大小写查询
设计表,选中相应的字段,排序规则中,选择区分大小写 --去除重复
DELETE t FROM (SELECT *,ROW_NUMBER()OVER(PARTITION BY title ORDER BY RAND()) AS RN FROM BookInfo) AS t WHERE RN>1 给每行某字段添加100内的随机数
UPDATE BookInfo SET BookInfo.count = CEILING(rand(checksum(newid()))*100) --获取所有表名
select table_name,table_type from INFORMATION_SCHEMA.TABLES --获取指定表的字段名和字段数据格式
--获取指定表的字段名和字段数据格式
select column_name,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE from INFORMATION_SCHEMA.COLUMNS t where t.TABLE_NAME='Users' --获取所有数据库名称
select name from master..sysdatabases where name not in('master','model','msdb','tempdb') --获取指定数据库中的所有表
use BookStore
select table_name from INFORMATION_SCHEMA.TABLES --查询空("或NULL")数据
select * from tb_table where filed is null or filed = '' --查询销售量占前50%的图书信息
select top 50 percent 书名,书号,sum(销售数量) as 合计销售数量 from tb_Book group by 书号,书名,作者 order by 3 desc --判断是否为数值
select 姓名,isnumeric(年龄) from tb_Student --在查询时对数值进行取整
select dm as 数值取整前,ceiling(dm) as 数值取整后 from tb_money
注:还有 Floor函数 Round(dm,2)四舍五入,2为保留的小数位数 ABS(求绝对值) --在查询中生成随机数
select floor(rand()*50)
示例:select * from tb_Student where 学生编号=22050110+floor(rand()*10) --随机生成大于0小于1的小数数值后与10相乘,并对小数数值向下取整 --实现字符串的大小写转换
select friendname as 字符串 lower(friendname) as 全部转小写,upper(friendname) as 全部转大写 from tb_string --返回字符在字符串中出现的次数
select friendname as 字符串 (len(friendname)-len(replace(friendname,'i','')))/len('i') as 出现指定字符的次数 from tb_string --其它各类函数
substring(str,index,lenght) --同C#
stuff(str,index,lenght,'del') --删除指定长度的字符 select ABS(-12), --求绝对值
CEILING(12.3), --向上取整
FLOOR(12.3), --向下取整
ROUND(12.333,1), --四舍五入,第二个参数为保留的位数
RAND()*10, --随机数,生成0-1随机浮点数
SIGN('11.3'), --判断指定数据列中的数值是否为正数(返回1),负数(返回-1),0(返回0) SIGN(1)
LOWER('HELLO'), --小写
UPPER('hello'), --大写
SUBSTRING('计算机科学与技术',2,3), --截取指定字符串从第2位开始共截取3个字符
STUFF('计算机科学与技术',2,3,'11'), --相当于替换了,此例将算机科替换成了11,如果替换成空,则会删除
CHARINDEX('学与','计算机科学与技术'), --查找字符串在另一字符串中的初始位置
REPLACE('计算机科学与技术','机科','科机'), --替换
ISDATE('1992/2/22'), --判断是否日期,是则返回1
YEAR('1992/2/22'),MONTH('1992/2/22'),DAY('1992/2/22') --分别返回年,月日 select DATENAME(weekday,getdate()), --返回当前的星期
DATEDIFF(YEAR,'1992/02/22',getdate()) --计算年龄,中间出生日期的参数只用符合datetime即可,例如19920222

  

T-SQL学习的笔记,以备查阅的更多相关文章

  1. SQL 学习小笔记

    1.FOUND_ROWS() 题目: ,; 在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数? *答案* : SQL_CALC_FOUND_ROWS ...

  2. SQL学习总结笔记

    SQL语句的效率不仅是sql语句的设计还有一些其他的原因比如网络 .是否有视图.是否有索引等等.这里主要描述的是我个人对于sql设计方面优化的一些见解: 首先要说明一下的是数据库SQL解析顺序: (1 ...

  3. SQL学习指南 ——笔记

    前言:每章的练习题很实用,跟着练了一遍.答案附录有 1.流行的商业级关系数据库:

  4. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  5. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  6. TERADATA SQL学习随笔<一>

    此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...

  7. ORMLite学习入门笔记

    ORMLite学习入门笔记 使用原始的SQLiteHelper来操作维护数据库有点过于繁琐,重复工作量较大.所以会想到使用一个比较方便的ORM来维护我们本地的数据库,各位业界前辈都给我推荐了ORMLi ...

  8. SQL 基础语法笔记教程整理

    最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...

  9. 学习ThinkPHP笔记

    学习ThinkPHP笔记 TP的模块化设计 名称 描述 应用 基于同一个入口文件访问的项目我们称之为一个应用. 模块 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录. 控制器 ...

随机推荐

  1. Linq to sql中使用DateDiff()

    Linq to sql中使用DateDiff() 计算时间差的方法 第一种办法: from p in PurchaseLists where EntityFunctions.DiffDays(p.Cr ...

  2. poj2479 Maximum sum

    http://poj.org/problem?id=2479 题目大意:给定一组n个整数:a ={a1, a2,…,我们定义一个函数d(a)如下: 你的任务是计算d(A).输入由T(<=30)测 ...

  3. 【LeetCode】462. 最少移动次数使数组元素相等 II

    给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输入: [1,2,3] 输出: 2 说明: 只 ...

  4. #阿里云#云服务器搭建git服务器

    前言:大家都知道,git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器,十分的 ...

  5. 散列表碰撞处理、开链法、HashTable散列

    散列表碰撞处理.开链法.HashTable散列 /** * 散列表碰撞处理.开链法.HashTable散列. * 将数组里的元素位置,也设置为数组,当两个数据的散列在同一个位置时, * 就可以放在这个 ...

  6. 关于editplus设置java和c#

    1.java设置 首先要在目录上手动新建一个class文件.放置编译好的class文件

  7. DIV+CSS 按比例等分

    div { display: inline-block; /* 如需支持IE8以下版本,用浮动来做 */ width: calc(100% / 3.09); /* 此处运用了一个css3的表达式,将d ...

  8. Java之IO(七)ObjectInputStream和ObjectOutputStream

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7003536.html 1.前言 本章介绍Java字节流中重要的成员,对象流ObjectInputStream和O ...

  9. Java学习之路(十二):IO流<二>

    字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Write ...

  10. python——利用selenium模仿键盘输入跳转

    这是我以前遇到的一个网站:人卫临床助手,这个网站比较奇怪,不能点击右键查看源码,但是大家可以使用ctrl+U,打开开发者选项,点击network,然后点击第2页和第3页: 可以看到上面的URL是一模一 ...