sql 基础语法:
建立数据库:sql
CREATE DATABASE 数据库名 on ( name ='数据库名',--主文件逻辑名称 filename='数据库文件位置', --主文件存放位置 size = 5,--主文件初始大小 filegrowth= 10% --主文件增加方式 ) log on ( name='日志文件名',--日志文件的逻辑名称 filename= '日志文件位置',--日志文件的位置 size= 5, --日志文件的初始大小 filegrowth= 10% --日志文件的增加方式 )
约束:
1.primary key 主键约束
2.identity 自增约束 通常用于主键
3.check check约束 限制列中的值的范围
4.not null 非空约束
5.default 默认值约束
shell
逻辑表达式:
and :而且 如 (表达式一) and (表达式二)
or :或者 如 (表达式一) or (表达式二)
not :取反 如查找 age不为20的人 not(age=20)
数据库
插入语句
一次插入一行数据
insert into 表名称 (列名称一,列名称二,列名称三,…)
values (列一对应的值,列二对应的值,列三对应的值,…)
一次插入多行
INSERT INTO table1 (列一,列二,列三)
SELECT(‘aa’,b,c)union
SELECT(‘bb’,d,0)union
SELECT(‘dd’,s,1)
c#
删除语句
删除一条数据
delete from 表名称 where 列的值=‘想要删除的值’
删除一张表的数据
delete table 表名称
bash
修改语句
update 表名称 set 列名称1=‘修改的值1’,列名称2=‘修改的值2’ide
查询语句
查询一个表的数据
select * from 表名称
查询一个表中的任何一列的数据
select 列名称1,列名称2,from 表名称
查询一个表中一条数据
select * from 表名称 where 列名称=‘值’
函数
order by 子句:对结果集排序 ,asc表示升序,desc表示降序,默认的是升序 asc加密
distinct 去掉重复的信息 select distinct 列名称 from 表名称spa
as关键字 改列名称 select 列名称1 as 姓名,列名称2 as 年龄 from 表名称日志
查询一个表中固定的几行数据
select top 2(写几就返回多少行 能够把2换成 50 percent:返回百分之50的数据) * from 表名称
sql内置函数
CharIndex(‘ab’,‘cdab’)返回3 返回’ab’ 在’cdab’中的位置,返回第一个字母的位置
Len(‘我是谁’)返回3 返回字符串的长度
Upper(‘abc好’) 返回ABC好 转换字母为大写
Replace(‘abb’,‘b’,‘z’) 返回 ‘azz’ 把b换成z
日期函数
GetDate() 返回电脑当前时间
DareAdd(mm,2,‘2009-10-08’) 像日期指定部分添加数据 yy年 mm月 dd日 hh时 mi分 ss秒
DateDiff(dd,‘2009-09-09’,‘2010-09-09’)返回365 返回两个日期中的日 dd换成mm就是12
DateName(DW,‘2009-09-09’)返回星期三 字符串的形式返回某个日期的指定部分
数学函数
Abs(-1) 返回:1 求绝对值
Ceiling(24.1) 返回:25 大于24.1的最小的整数
Floor(24.1) 返回:24 小于24.1的最小的整数
Power(2,3)返回:8 计算2的3次方
Round(748.32,1)返回:748.30 返回一个数值,舍入到指定长度或精度
Sign(100) 返回:1 正整数返回1 负整数返回-1
Sqrt(4) 返回:2 开平方
系统函数
Convert(varchar(3),123) 返回:123 转换数据类型
DateLength(‘12中国’) 返回:6 返回任何数据类型的字节数 “中国”是汉字,一个汉字等于2个字节 因此返回 6
模糊查询
select * from 表名称 where name like ‘_e%’ 获得一个条数据 name列第二个字母等于e的这一条数据
select * from 表名称 where name like ‘%e[a,b,c,d]’ 获得一个条数据 name列最后个字母不等于(a,b,c,d)的这一条数据
聚合函数
SUM() 返回选取结果全部值的总和
MAX() 返回选取结果全部值中的最大值
MIN() 返回选取结果全部值中的最小值
AVG() 返回选取结果全部值的平均值
CUNT() 返回选取结果集中行的数目
多表链接查询
select 表1.列1,表1.列2,
表2.列1,表2.列2,
from 表1 inner join 表2
on 表1.列1=表2.列1
where 表1.列1 in(‘表1的列1’,‘表2的列1’)
and 表2的列2 like ‘c%’
左外链接:left Outer join 右外链接:Righte Outer join 全外链接:Full Outer join
sql 高级语法:
declare @varname DateType @varname为局部变量,declare为声明变量 DateType为数据类型
SET @varname=value SELECT @varname=value 左边两种都是将肯定value值赋给@varname
全局变量
@@ERROR 返回执行的上一行 Transact-SQL 语句的错误号
@@IDENTITY 返回最后插入的标示值
@@ROWCOUNT 返回上一语句影响的行数。若是行数大于20亿,使用ROWCOUNT_BIG
输出语句
PRINT 局部变量或者字符串
流程控制语句
IF 条件
语句块
else
语句块
IF 条件
BEGIN
语句块
END
ELSE
BEGIN
语句块
END
BEGIN END 至关于c#语言中的if语句的( )
子查询
select * from 表一 wher id=(select max(id) from 表二) 查出表一中id和表二中id对应的一整条数据
高级子查询
in 用法:select * from Employ where empno in(select empno from Expertise group by empon having MAX(skillevel)>3) in后面的子查询查出的是一个数据集 不能用= 只能用 in
not in 用法:就是反之 not in后面的子查询的结果 与前面的父查询不匹配的数据被查出来。
事物:
开始事物:BEGIN TRANSACTION 提交事物:COMMTT TRANSACTION 回滚事物:ROLLBACK TRANSACTION
select * from sysobjects 查询表的信息
系统存储过程:
sp_stored_procedure 列出前环境中全部的存储过程 sp_helptext 显示默认值,未加密的存储过程,用户定义的存储过程,触发器或者视图的实际文本 xp_cmdshell 使用DOS命令操做文件或目录