sql 基础语法

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命令操做文件或目录

相关文章
相关标签/搜索