SQL Server数据库入门语法

select DISTINCT 列名 from 表名 //去掉重复行
列名 BETWEEN 2 and 3 与 列名>2 and 列名< 3 意思一样
yy 年
dd 天
mm 月
qq 季度
wk 周数

select * from 表名
C#中对数据库的用法
添加
1.
insert [into] 表名 [(字段名)] values(值列表); object ExecuteScalar()
//defualt 对应关系 标识列。。 返回单个值,如执行COUNT(*)
2.
insert [into] 目标表名 (目标表的字段名)
select 源表字段名
from 源表
//目标表必须已存在
3.
select 源表字段名
into 目标表
from 源表
//目标表必须不存在
4.
insert into 目标表(目标表的字段)
select 值列表 union
select 值列表
更改
5. ********C#中执行不返回行的语句可用
update 表名 set 列名=更新值 where 条件 int ExecuteNonQuery();
//更新多列里用逗号分隔(set只能出现一次)
//
//
删除
6.delete [from] 表名 [where<删除条件>]




第九章
select <列名> ***********//选择
from <表名> ***********//来自于
where <查询条件表达式>
order by <排序的列名>[ASC或DESC] //升序或降序


所有查询只是查询 不会改变原本表格。。。。。。。。。。。。。。。。。

1.查询所有的数据的行和列
select * from <表名>

2.查询部分行或列
select <列名>,<列名>,<````> //查询后这些列名的内容将执行
from <表名>
where <条件> //查询的条件

3.在查询中使用列的别名 重命名。。。
select <列名a> AS <名称b> //把名称a变为名称b
from <表名>
where <条件>

selsct <列名a>+'.'+<列名b> AS <名称c> //列名a与列名b和在一起用 “.“隔开 改名为名称c
from <表名>

select <名称a>=<列名b> +‘.’+ <列名c> //同上,列名a与列名b和在一起用 “.“隔开 改名为 名称c 加号两边数据类型必须一致
from <表名>

4.查询空值
select <列名> from <表名> where<条件>如"<列名> IS null"

5.在查询中使用常量列
select '添加内容' AS <添加的列名称> // 会多一列 这列的所以数据都为 添加的内容
from <表名>

6.查询返回限制行数
select top <行数> <列名>,<列名>,<.....> //top 前几 输出前几行
from <表名> where <条件>

select 20 percent <列名> //percent 百分号 可以大概差出20%的数据
from <表名> where <条件>

7.使用setect语句进行查询
setect<列名>
from<表名>
[where <查询条件表达式>]
[order by <排序的列名>[ASC或DESC]]


部分常用字符串函数*************

CHARINDEX 用来寻找一个指定字符串在另一个字符串中的起始位置
SELECT CHARINDEX('name' 'My name is TOM' 1 ) 返回:4

LEN 返回传递给它的字符串长度
SELECT LEN('SQL Server 课程') 返回:12

UPPER 把传递给它的字符串变为大写
SELECT UPPER('sql server 课程') 返回:SQL SERVER 课程

LTRIM 清除左边的空格
SELECT LTRIM(' 豪 ') 返回:豪 (后面空格保留)

RTRIM 清除右边空格

RIGHT 从字符串右边返回指定数目的字符
SELECT RIGHT('买买提。图尔松',3) 返回:图尔松

REPLACE 替换一个字符串中的字符
SELECT REPLACE('asdefgh.asdefgh''s''G') 返回:aGdefgh。aGdefgh

STUFF 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
SELECT STUFF('ABCDEFG',2,3,'我的音乐我的世界') 返回:A我的音乐我的世界EFG


日期函数

GETDATE() 取得当前的系统日期

DATEADD 将指定数值添加到指定的日期部分后的日期
SELECT DATEADD(mm,4,'01/01/2009') 返回:以当前的日期格式返回05/01/2009

DATEDIFF 两个日期之间的指定日期部分的间隔
SELECT DATEDIFF (mm,'01/01/2009','05/01/2009') 返回:4

DATENAME 日期中指定日期部分的字符串形式
SELECT DATENAME(dw,'01/01/2000') 返回:Saturday或星期六

DATEPART 日期中指定日期部分的整数形式
SELECT DATEPART (day,'01/15/2000') 返回:15


数学函数

RAND 返回从0到1之间的随机float值
SELECT RAND() 返回:0.36473123242394

ABS 取数值表达式的绝对值
SELECT ABS(-43) 返回:43

CEILING 向上取整,取大于或等于指定的数值,表达式的最小整数
SELECT CEILING(43.5) 返回:44

FLOOR 向下取整

POWER 取数值表达式的幂值
SELECT POWER(5,2) 返回:25

ROUND 将数值表达式四舍五入为指定精度
SELECT ROUND(43.5431) 返回:43.5

SIGN 对于正数返回+1,对于负数返回-1,对于0则返回0
SELECT SIGN(-32) 返回:1

SQRT 取浮点表达式的平方根
SELECT SQRT(9) 返回:3


部分常用的系统函数********* ***

CONVERT 用来转变数据类型
SELECT SONVERT(varchar(5),12345) 返回:字符串12345

CURRENT_USER 返回当前用户的名字
SELECT CURRENT_USER 返回:你登陆的登录名

DATALENGTH 返回用于指定表达式的字节数
SELECT DATALENGTH ('中国A联盟') 返回:5

HOST_NAME 返回当前用户所登录计算机的名字
SELECT HOST_NAME 返回:你登录计算机的名字

SYSTEM_USER 返回当前所登陆的用户名称
SELE SYSTEM_USER 返回:当前你所登录的用户名

USER_NAME 从给定的用户ID返回用户名
SELECT USER_NAME(1) 返回:从任意数据库中返回“dbo”


第10章——————————————————————————————————————————————

通配符**************

使用LIKE模糊查询

_ 一个字符 A LIKE 'C_',则符合条件的A如CS,Cd等

% 任意长度的字符串 B LIKE ‘CO%’,则符合条件的B如CONST、COKE等

[] 括号内所指定范围内的一个字符 C LIKE ‘9W0[1-2]’,符合条件的C如9W01或9W02

[^] 不再括号内所指定范围内任意的一个字符 D LIKE ‘9W0[^1-2]’,符合条件D如 9W03等


使用BETWEEN 在某个范围内查询

SELECT * FROM 表名 WHERE 表名 BETWEEN 小值 AND 大值 查找在小值和大值之间的数
SELECT * FROM 表名 WHERE 表名 NOT BETWEEN 小值 AND 大值 查找不在小值和大值之间的数

使用IN在列举值内进行查询

SELECT 列名 from 表名 WHERE 列名 IN('查询条件1','查询条件2','。。。。。3')


聚合函数**************

SUM(列名) 返回:所有数值的总和,忽略空值

AVG(列名) 返回:所有数值的平均值,忽略空值

MAX(列名) 返回:排序序值的最大值

MIN(列名) 返回:排序序值的最小值

COUNT(列名) 返回:行数包括空值行


第十一章--------------------------------------------------------------------------------

分组查询**************************
select COUNT(*) ,列名 from 表名
GROUP BY 列名 //可以进行统计

having count(*)>16 //把组看成列来限定条件 要是把聚合函数直接用到where里面会报错

内连接查询************************

select <列名> from <表名>,<表名> where <表名.列名>=<表名.列名> //不写where里面条件会出现多条数据

select <列名> from <表名> inner join<表名> on <表名.列名>=<表名.列名>

外连接查询************************ //主表与从表匹配条件的记录 若无匹配 则返回null

左外连接---
select <列名> from <主表名> left join<从表名> on <表名.列名>=<表名.列名>

右外连接--
select <列名> from <从表名> right join<主表名> on <表名.列名>=<表名.列名>
联合----
UNION

第十四章




展开阅读全文

没有更多推荐了,返回首页