`

SQL基础语法(全--5)

阅读更多
--删除数据库
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)
分享到:
评论

相关推荐

    sql server 2012 T-SQl基础教程 源码和示例数据库

    《SQL Server 2012 T-SQL基础教程——源码与示例数据库》 本教程专注于Microsoft SQL Server 2012中的Transact-SQL(T-SQL)语言,这是SQL Server的主要查询语言,用于数据操作、查询、存储过程和数据库对象的编程...

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    - **SQL语句语法**:包括SELECT、INSERT、UPDATE、DELETE等常用语句的使用方法。 - **数据类型**:介绍了SQL Server支持的各种数据类型,如数值类型、字符类型、日期时间类型等。 - **变量与常量**:讲解如何定义...

    sql-map-2.dtd和sql-map-config-2.dtd

    引入sql-map-config-2.dtd后,开发者可以确保配置文件的语法正确,避免因格式错误导致的运行时问题。 在实际应用中,这两个DTD文件通常会被引用到对应的XML配置文件顶部,如下所示: ```xml &lt;!DOCTYPE sqlMap ...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    1. **基础语法**:了解T-SQL的基本结构,包括SELECT、INSERT、UPDATE、DELETE语句的使用,以及如何进行数据过滤、排序和分组。 2. **高级查询**:学习使用子查询、联接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL ...

    [电子书] SQL Server 2012 T-SQL 实用技巧 (英文版)

    对于那些已经有一定SQL基础,但希望进一步提升自己在SQL Server 2012环境下解决问题能力的人来说,这是一本非常有价值的参考书。阅读《SQL Server 2012 T-SQL Recipes》的PDF文件,读者将有机会系统地探索这个强大的...

    SQL SERVER 2008 T-SQL 基础

    《SQL SERVER 2008 T-SQL基础》是一本由微软出版社出版的书籍,主要针对SQL Server 2008中的Transact-SQL(T-SQL)语言进行深入浅出的讲解。T-SQL是SQL Server的核心组件,用于数据查询、数据操纵、存储过程编写以及...

    Microsoft SQL Server 2012 T-SQL

    【Microsoft SQL Server 2012 T-SQL】是针对微软数据库管理系统Microsoft SQL Server 2012中Transact-SQL(简称T-SQL)语言的基础教程。T-SQL是SQL Server的核心组件,用于数据查询、操作、分析以及数据库对象的创建...

    MySQL基础语法总结--内有案例

    MySQL基础语法总结-新手教程 内容包括了: 1.SQL语言 的介绍 2.MySQL数据类型 3.约束类型 4.数据库语句 -表相关的语句-数据相关的语句 5.导入sql文件 6.DML语句(insert update delete)-truncate语句 7....

    SQL基础语法

    ### SQL基础语法详解 #### 一、数据定义语言(Data Definition Language, DDL) 在数据库管理系统中,数据定义语言主要用于创建、修改或删除数据库对象,如表、索引等。以下是一些常用的DDL命令及其解释。 ##### ...

    T-SQL语言基础 T-SQL语言基础

    在数据库管理与数据处理的世界里,掌握T-SQL语言基础是每个数据库管理员和开发人员不可或缺的技能之一。T-SQL(Transact-SQL),作为SQL Server数据库中的核心组成部分,不仅包含了标准SQL的全部功能,而且提供了...

    易飞SQL常用基础语法

    易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法易飞SQL常用基础语法

    x-pack-sql-jdbc-7.4.2

    7.4.2版本确保了与多种SQL语法的兼容性,包括SELECT、INSERT、UPDATE、DELETE等基础语句,以及JOIN、GROUP BY、HAVING等复杂查询。这使得开发人员能够利用熟悉的SQL语法在Elasticsearch中进行数据操作,而无需学习新...

    SQL语句大全、SQL基础、SQL基本语法

    #### 一、基础知识 1. **创建数据库** - **语法**: `CREATE DATABASE database-name;` - **说明**: 此命令用于创建一个新的数据库。`database-name`应替换为实际想要创建的数据库名称。 2. **删除数据库** - **...

    SQL语法,SQL语句大全,SQL基础

    ### SQL语法、SQL语句大全及SQL基础知识 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言。SQL最初由IBM研发,并在1970年代后期作为SEQUEL(Structured English Query ...

    SQL语句基础教程

    SQL语句基础教程旨在帮助新手和需要复习SQL的资料仓储业界老将,学习SQL基础知识和语法。 SQL指令 -------- SQL指令是SQL语言的基础,用于储存、读取、处理数据库中的资料。常用的SQL指令包括: * SELECT:从...

    sql基础语法考试必备小抄

    ### SQL基础语法考试必备知识点 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它提供了强大的数据操作能力,包括数据查询、数据定义、数据操纵和数据控制等功能。 ####...

    learn-sql-the-hard-way-笨方法学sql

    通过这个课程,读者将不仅学会SQL的基础语法,还能掌握处理复杂查询、优化数据库性能以及设计高效数据库结构的技能。实践是学习SQL的关键,这本书通过大量的例子和练习,鼓励读者动手操作,从而真正理解并掌握SQL这...

    SQL基础语法和高级语法示例

    SQL基础语法和高级语法示例 SQL基础语法和高级语法示例

Global site tag (gtag.js) - Google Analytics