SQL 概念介绍
- SQL 语句中字符串用单引号,单等号
- SQL 语句中对关键字不区分大小写,值、表名的大小写是区分的。两个双引号表一个双引号
- SQL 分DDL、DML、DCL 三类语言
- DLL: create table 、drop table 、alter table 数据定义语言
- DML:select 、insert 、update 、delete 数据操作语言
- DCL:grant 授权、revoke 取消授权 数据库控制语言
- SQL 分DDL、DML、DCL 三类语言
数据库概念介绍
- 主键 外键 (分开建表防止数据冗余)
主键可以有多列 但是一张表只有一个主键,叫主键表 主键不能有重复值
外键 引用的是主键表中的主键
INSERT INTO 增加数据
- SQL=”insert into [表名] ([列字段1],【列字段2】,【列字段3】) values (N'Valu1',N'Valu2',N'Valu3')”
// 当值为中文或变量时需在单引号里加 英文半角的双引号
// 在中文字符串前加 N 可以防止出现乱码,与数据库排序规则有关 - SQL=insert into [表名]values ('str1','str2','str3')
// 根据已建数据库表头顺序不能变,可以省略[列字段] - 如果要在自动编号列插入值,需启动手动插入值功能,改成自动编号后,编号根据手动插入值
依次向后编号:
Set Identity_insert 表名 ON
。。。
Set Identity_insert 表名 OFF
Select 查询数据
- select * from 表名 // 表示查询该表的所有数据
- select 列字段1、列字段2 from 表名 // 选择性的查询该表的数据
- select * from 表名 where 条件 // 根据行条件查询所有列字段或者部分列字段
- select 列字段 as 别名1,列字段 as 别名2 from 表名 //写法一 给查询结果表头起别名
- select 列字段 别名1,列字段 别名2 from 表名 //写法二 给查询结果表头起别名
- select 别名1=列字段,别名2=列字段 from 表名 //写法三 给查询结果表头起别名
- select 别名1=列字段,别名2=列字段,别名3='值' from 表名 //写法四 增加一列
5 . sclect 别名1='值',别名2='值2' // 可以赋值常量
关键字 top ..order by 、distinct
1、select distinct * from 表名 //针对已经查询出的结果去除重复值 不是针对某一列
2、top ...order by..
str =数值
str =(表达式)
str = 数值 percent //向上取整,如3.1 取4
-- select top str * from 表名 order by 列名 desc //降序排列, 默认或者写 acs 为升序
聚合函数
sum()、count()、max()、min()、avg()
例:select sum(列名)from 表名
特点:
--1 聚合函数不统计空值
where 条件的三种写法
--1 select * from 表名 where 列名>=20 and 列名<=30 and 条件三
--2 select * from 表名 where between 20 and 30 and 条件三 //between 是闭区间
--3 select * from 表名 where 列名 in (20,30,条件三)
模糊查询
通配符:_ 、% 、[] 、^
-- _ //表示任意单个字符
-- % //表示任意多个字符
例 select * from 表名 where 列名 like '张'
-- [] //表示区间 通配符转义 [%]、[^]、[] 也可以指定一个转义符 escape ''
-- ^ //表示非
例 select * from 表名 where 列名 like '张[0-9a-z]妹' //表示0-9 a-z 之间任意一个字符
select * from 表名 where 列名 like '张[^0-9]妹' //表示除了0-9之外任意一个字符
空值处理
语法 select * from 表名 where 列名 is null
select * from 表名 where 列名 is not null
order by 列名 desc(acs)
子句要放到where 最后面 ,order by 返回的数据叫”游标”
可以进行多列排序 order by 列名 desc,列名2 desc
UPDATE 修改数据
1、语法 update 表名 set 列1=新值1,列2=新值2...where 条件
//如果不加where 条件,那么表示对表中所有数据进行修改
2、where 条件中可以使用逻辑运算符
not 、and 、or 、< 、> 、= 、<> (!=) 、 >= 、 <=