--删除数据库
drop database [数据库名]
go
--创建数据库
create database [数据库名]
go
--打开数据库
use 数据库名
go
--创建表
create table [表名]
(
[列名] [数据类型] identity(增长种子,增长量) primary key(是否主键)(是否为空),
)
go
--删除表
drop table [表名]
go
--查找指定表中所有记录
select * from [表名]
--添加一条记录
insert into [表名] [列名] values [值]
--添加多行记录1
insert into[表名] [列名]
select [列名] from [数据来源表]
--添加多行记录2
insert into[表名] [列名]
select [值],[值] union
select [值],[值]
--用一个表中满足条件的记录生成另外一个新的表
select * into [表1] from [表2]
--删除记录1
delete from [表名] where [条件]
--删除记录2
truncate table [表名]
--给表中增加一个列
alter table [表名] add [新增列名] [数据类型]
--更新
update [表名] set [列名] = [更新值] where [条件]
--查询所有记录的所有列的值
select * from [表名]
--where子句(条件)
select * from [表名] where [条件]
--as对列重命名
select [原列名] as [新列名] from [表名] --方法一
select [原列名] [新列名] from [表名] --方法二
--列的合并
--方法1
select [列名1] + ',' + [列名2] as [新列名] from [表名]
--方法2
select [新列名] = [列名1] + ',' + [列名2] from [表名]
--查询有NULL值的记录
select * from [表名] where [列名] is null
--查询空字符串
select * from [表名] where [列名] = ''
--常量列
select [列名,新列名] =[赋值] from [表名]
--显示表中前n条记录
select top [n] * from [表名]
--显示表中百分之n的记录
select top [n] percent * from [表名]
--排序
--升序
select * from [表名] order by [列名]
--降序
select * from [表名] order by [列名] desc
--同时按照两个列排升序
select * from [表名] order by [列名1,列名2]
--sql函数
--返回长度的函数len
select len('字符串')
--返回字符串前n个字符的函数
select left('字符串',n)
--返回字符串后n个字符的函数
select right('字符串',n)
--替换字符串中的某个字符的函数
select replace('字符串','字符串中被替换的字符','替换后的字符')
--替换字符串中的指定位置n指定长度x的字符的函数
select stuff('字符串',n,x,'替换后的字符')
--取当前系统信息的函数
select getdate()
--将指定的数值添加到指定的日期部分后的日期的函数
select dateadd(指定的日期,添加的日期,getdate())
--转换数据类型的函数
select convert(要转换的数据类型,'被转换的数据类型的值')
--多表联查
select [表名一.表名一中的列名],[表二.表二中的列名]
from [表名一],[表名二]
where [条件] 如(表名一.列名(与表二的列名相符) = 表名二.列名(与表一的列名相符))]
--内连接
select [表名一.表名一中的列名],[表二.表二中的列名]
from [表1],
inner join [表2]
on (表名一.列名(与表二的列名相符) = 表名二.列名(与表一的列名相符))
--三表联查
select [表1.表1中的列],[表2.表2中的列],[表3.表3中的列]
from [表1]
inner join [表1中的列]
on (表名1.列名(与表2的列名相符) = 表名2.列名(与表1的列名相符))
inner join 表2中的列
on (表名2.列名(与表3的列名相符) = 表名3.列名(与表2的列名相符))
--查询值1到值2之间的值(所有的列)
select * from users
where age between 值1 and 值2
--查询某列指定的几个值(所有的列)
select * from users
where in 列名 ('值1','值2','值3')
--查询某列指定的几个值之外的所有值(所有的列)
select * from users
where nickname not in ('值1','值2','值3')
--查询某列中含有n的字符的所有值
select * from users
where 列名 like '%n%'
--查询某列出字段值为null的记录
select * from users
where 列名 is not null
--查询某列出字段值为空字符串的记录
select * from users
where 列名 = ''
--统计某表中有多少男性用户
select count(*) as 男性用户数量 from 表名 where sex<>'女'
--查找最大值
select max(列名) as 最大值 from 表名
--查找最小值
select min(列名) as 最小值 from 表名
--计算平均值
select avg(列名) as 平均值 from 表名
--计算总和
select sum(列名) as 总和 from 表名
--多表联查
--用where条件做
select 表名1.列名,表名2.列名
from 表名1,表名2
where 条件(两表ID相等)
--用内连接做
select 表名1.列名,表名2.列名
from 表名1 inner join 表名2
on 条件(两表ID相等)
--左外连接 ---左边的可以为空 右边的不可以
select 表名1.列名,表名2.列名
from 表名1 left join 表名2
on 条件(两表ID相等)
--右外连接 ---右边的可以为空 左边的不可以
select 表名1.列名,表名2.列名
from 表名1 right join 表名2
on 条件(两表ID相等)
--交叉连接
select 表名1.列名,表名2.列名
from 表名1 cross join 表名2
where 条件(两表ID相等)
--三表联查
select 表1.值1,表2.值2,表3.值3
from 表1
inner join 表2
on 条件(两表ID相等)
inner join 表3
on 条件(两表ID相等)
--group by
--统计编号为10001的学员所有考试的平均分
select sid,avg(mark)as 平均分
from score
group by sid
--统计每一门课程的平均分
select cid,avg(mark)as 平均分
from score
group by cid
--显示学生姓名和考试平均分
select u.nickname,avg(s.mark)as 平均分
from users as u
inner join score as s
on u.id=s.sid
group by u.nickname
--显示科目名称和科目平均分
select c.cname,avg(s.mark)as 平均分
from course as c
inner join score as s
on c.id=s.cid
group by c.cname
--显示平均分大于60分的学生姓名,科目名称,平均分
select c.cname,avg(s.mark)as 平均分
from course as c
inner join score as s
on c.id=s.cid
group by c.cname
having avg(s.mark)>60
and:只有两个条件都为true,整个表达式的结果才为true
or:只要有一个条件为true,整个表达式的结果就为true
not:条件为true,表达式结果为false;条件为false,表达式结果为true
常用语法
select * from YuanGong
select len('天下乌贼')
select name,len(name) from YuanGong
select upper(name) from YuanGong
where ID = 10
select lower('TIANXIA') as '大写转小写'
rtrim((ltrim(' wo '))
select right(name,2) from YuanGong
select left(name,1) from YuanGong
select replace('他们好我也好,他们坏我也坏','他们','它')
select stuff('我是中国人',3,2,'美国')
select getdate()
select name,getdate() as '当前时间'from yuangong
select dateadd(yy,4,getdate())
select datediff(hh,'2008-10-24','2009-1-1')
select datename(dw,'2008-10-24') as '星期'
select datepart(hh,getdate())
select sqrt(7)
分享到:
相关推荐
T-SQL语言基础T-SQL语言基础T-SQL语言基础T-SQL语言基础
SQL语法,SQL语句大全,SQL基础;SQL语法,SQL语句大全,SQL基础
sql server 基础语法,适合初学者学习观看。
MySQL基础语法总结-新手教程 内容包括了: 1.SQL语言 的介绍 2.MySQL数据类型 3.约束类型 4.数据库语句 -表相关的语句-数据相关的语句 5.导入sql文件 6.DML语句(insert update delete)-truncate语句 7....
易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法
一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice '...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
进度00-SQL基础语法.docx
个人总结的一些基础的T-SQL语法,包括基础的表创建,操作知识;
mysql -基础语法总结,一些数据的增删改查,建表建库等---
03. 基础-SQL-通用语法及分类 04. 基础-SQL-DDL-数据库操作 05. 基础-SQL-DDL-表操作-创建&查询 06. 基础-SQL-DDL-数据类型及案例 07. 基础-SQL-DDL-表操作-修改&删除 08. 基础-SQL-图形化界面工具DataGrip 09. 基础...
适合教学使用的SQL语法课件,内容相对精炼。
从难到易,从陌生到熟习
sql的一些查询、删除、更新、插入、创建、修改的基本语法、考试的时候可以当作小炒、公司笔试的时候效果更佳,有实践证明的!
sql基础手册sql基础手册sql基础手册sql基础手册
sql操作,sql基本语法 sql操作,sql基本语法
SQL常用语法基础\SQL常用语法基础.doc
SQL 语法基础教程 简单介绍 以及范例 不错的入门教程
SQL 存储过程 基础语法 SQL 存储过程 基础语法 SQL 存储过程 基础语法
文档包括三部分,包括sql语句的基础语法和一些简单的小测试,最后有比较综合的练习,是之前学习sql时候做的笔记,希望对大家有帮助