简单的SQL语法

发布 2021-05-11 05:25:28 阅读 3677

1、关于在数据库中创建表的知识。 truncate table ..初始化表。

创建表:create table t_person(id int null,name nvarchar(50) not null,age int null)

删除表:drop table t_person

往表中插入内容:insert into t_person(id,name,age) values (1',jim',20) 前后小括号的内容是对应的。

更新表中的一个列:update t_person set age=30 意思是将**中的年龄那一列都更新成30岁。

更新表中的多个列:update t_person set age=30,name='tom' 意思是将**中的年龄那一列都更新成30岁,将**中的姓名那一列都更新成tom,更新一部分数据:update t_person set age=30 where name='jim' 意思是只更新name是jim的那一行。

update t_person set age=30 where name=n'李伟' or age<25 意思是只更新name是李伟或者年龄是小于25的那一行。(注释:在sql语句**现了中文应在前面加个n。

)where中还可以使用其他的逻辑运算符:or(或者), and (并且), not(不是) ,

补充:在sql语句中生成 guid 的方法是:select newid()

在c#(.net)中生成 guid 的方法是:guid id =

数据删除:删除表中的全部数据:delete from person1 (注释:delete只是删除表中的数据表还在,与drop table不同)

delete 也可以带where字句删除表中的一部分数据:delete from person1 where age>20

数据检索:简单的数据检索:select * from person1 (注释:* 表示全部)

只检索需要的列:select number from person1

列别名:select number as 编号,name as 姓名 from person1

使用where检索符合条件的数据:select name from person1 where salary<5000

还可以检索不与任何表相关的数据:select 1+1 select newid() select getdate()

数据汇总:sql的聚合函数:max(最大值) min(最小值) **g(平均值) sum(求和) count(数量)

eg.大于25岁的员工的最高工资:select max(salary) from person where age>25

最低工资:select min(salary) from person

表的数据个数:select count (*from person

所有人的工资和:select sum(salary) from person

数据排序:eg.

按年龄排序:select * from person order by age

select * from person order by age asc :升序

select * from person order by age desc:降序。

按年龄排序,如果年龄相同在按工资排序:select * from person order by age asc,salary asc

order by 字句必须放到where字句之后:

eg.select *from person1 where age>20 order by age asc,salary asc :给年龄大于20的先以年龄排序如果有年龄相等的在按照工资排序。

通配符过滤:

通配符过滤使用like

单字符匹配的通配符为半角下划线_ ,它匹配单个出现的字符。

eg.以任意字符开头剩余部分为erry : select * from person where name like'_erry'

多字符匹配的通配符为半角百分号%,它匹配任意次数(零或多个)出现的任意字符。

eg.k% :匹配以k开头任意长度的字符串。

检索姓名中包含字母n的员工信息:select * from person where name like'%n%'

空值处理:数据库中,一个列如果没有指定值,那么值为null,这个null和c#中的null都表示为“不知道”而不是没有。因此select null+1 的结果为null,因为不知道+1 的结果还是不知道。

select * from person where name =null

这两句都没有返回值。

select * from person where name =!null

sql中使用is null, is not null 来进行控制判断。

select * from person where name is null

select * from person where name is not null

多值匹配:eg.

select * from person where age in (23,25,28) :检索出年龄为23,25,28的数据。

select * from person where age between 20 and 30 :检索出年龄在20和30之间的数据。

select * from person where age>20 and age<30 :检索出年龄在20和30之间的数据。 (常用)

数据分组:eg.

按照年龄进行分组统计各个年龄段的人数并将年龄列出来:select age,count(*)from person group by age

按照年龄进行分组统计各个年龄段的人数:select count (*from person group by age

group by 字句必须放到where语句之后没有出现在group by 子句中的列不能放到select语句后的列名列表中。(聚合函数除外)

eg.select age,salary from person group by age :错误 group by 后面没有出现salary所以select后面不能有。

select age,**g(salary) from person group by age :正确 **g是聚合函数。

h**ing语句。

聚合函数不能使用在where中但能使用在h**ing中;h**ing要位于group by 之后。

h**ing中不能使用未参数分组的列。

eg. select age from person where count(*)1 group by age :错误聚合函数不能使用在where中。

select age from person group by age h**ing count(*)1 :正确。

sql语法

知识要点 1 transact sql运算符 1 算术运算符。注 null与任何值运算结果为null。运算可用于datetime型数据。2 字符串运算符。3 比较运算符。逻辑常量 ture false。4 逻辑运算符。not 非 and 与 or 或 between 指定范围 like 模糊匹配 5...

SQL语法

distinct 输出唯一值。select distinct from where between and 介于某一范围的数据。where 某行 between and in 属于某一子集合的数据。where 某行 in substring expression 开始位 长度 选取字符串。selec...

SQL语法

一 create table 数据表是数据库中储存数据的基本架构。举例来说,如果我们有一个记载顾客数据的数据表,那字段包括姓名 地址 城市 国家 生日 等等。当我们对数据表下定义时,我们需要注明字段名称,以及那个字段的类型。字段类型可能是一个整数 例如 1 一个实数 例如 0.55 一个字符串 例如...