use 连接数据库
create database 建数据库
create table 建表
primary key identity(1,1) 主建自增
varchar 字符
constraint check 建约束 在表名后可以用check直接加约束
select * from 查找
top 第几个和百分比
insert into 表名 values 增加内容
insert into 表名 select 字段内容1 union select 字段内容2 多行插入||不能用默认值
update 表名 set 修改内容 where 条件
delete from 表名 where 条件 删除
truncate table 清空表不能加条件不会记录到log中(日志)
order by 字段名 asc 排列小到大 asc 可省略 排列永远写在最后面
order by 字段名 desc 排列大到小
as 给字段重新起名
distinct 去年重复
group by 分组
having 在分组后显示的
default
默认值
select 字段1,字段2 into 表名1 from 表名2 把查询的结果复制到新建的表名1里面去
insert into 表名1 select 字段1,字段2 from studentexam
表名2 把表名2内容自制到表名1里面去
--数据类型
varchar 字符
numeric(18, 0) 数字小点位数18整数的位数0小数的位置
bit 只能0和1 布尔值
float 小数
image 二进制的形式
--判断单词
is null 为空
is not null 不为空
like 像。。。
or 或
简写in(,,,)
and 并且
简写between 从什么 and 到什么
left(字段名,长度) --截取左边的长度字
right(字段名,长度) --截取右边的长度字
--条件为>,<,>=,<=,=,!= (<>)
--子查询的结果必须只能有一个数据
select * from 表名 where 字段=(select max(字段1) from 表名) 可以把查询写在条件里面去,写在()中
--用in查询可查出一列之内的多个数据,
select * from 表名 where 字段 in (select * from 表名1 where 字段1>?) 可以把查询写在条件里面去,写在()中
not in 不在这个范围内
--连接查询
表名1 join 表名2
on 表名1.字段名1=表名2.字段2
连接查询///要公共字段相同的才可以连接 可以在join 前加 inner 内连接
select*from 表名1 ,表名2 where 表名1.字段名1=表名2.字段2 连接查询的简写
外连接 左连接 left join 右连接 right join 全连接 full join
交叉连接:无需公共字段的连接 select * from 表名1 cross join 表名2
--函数
convert(varchar,字段名) 强制转换
年:year/yy,yyyy 月:month/m,mm 日:day/d,dd
季度:quarter/q,qq 周:week/wk,ww 星期几:weekday/dw,w 小时:hour/hh
分钟:minuts/mi,n 秒:second/ss,s 毫秒:millisecond/ms
getdate():获取当前系统的时间
datediff(日期部分,开始时间,结束时间):计算两个时间的跨度(时间差)
dateadd(日期部分,增加的值,基础时间):在一个时间的基础上加上一个增长值,得到另一个日期
datepart(日期部分,基础时间):获取一个具体时间的某个部分。返回的是个整数
datename(日期部分,基础时间):获取一个具体时间的某个部分。返回的是字符型号
日期部分(基础时间):获取一个具体时间的某个部分。返回的是个整数 datepart的间写
len()
--几个字
datalength()
--字节长度
ltrim()
--去左边的空格
rtrim()
--去右边的空格
replace(字段名,替代部分,要替代的内容) --替换
stuff(字段名,起点,长度,要替换的内容) 精确哪一段
isnull(字段名,替换内容)
--替换空值
substring(字段名,起点,长度) --截取中间一段
charindex('内容',字段)
--查找字段中有无内容
--聚合函数
count()
--计数
sum()
--求和
avg()
--平均值
max()
--最大
min()
--最小
--数学函数 :只操作数字
abs(值) --求绝对值
ceiling(4.0000000000001) --向上取整
floor(4.99999999999999) --向下取整
power(3,3) --求幂
round(4.5612,2) --四舍五入,精确到第几位
sqrt(2) --求平方根
rand() --随机数 0-1 :双精度浮点数
4%3; --取模
convert(varchar,getdate(),114) --显示时间的方法