SQL的基本管理
1.SQL(结构化查询语言)
SQL:Structured Query Language
①SQL分类:
DML:数据操作语言 Data manipulation Language
CRUD:增删改查
DCL:数据控制语言 Data Control Language
给定某个对象赋予指定的权限或角色(用户、角色、权限)
grant…to \ revoke…from…
DDL:数据定义语言 Data definition Language
对数据结构进行相应的定义(创建数据库对象)
DTL:数据事物语言 Data Transaction Language
通过对事务进行相应的管理(线程:原子操作)
②SQL的运算符
③通配符-like
‘_’:代表一个字符
‘%’:代表任意多个字符
A = Ab3dfasdf、Baasfasd、33AAAAsss、Aab
A like ‘A _’ 表示的是A后面跟一个任意字符
A like ‘ _A _% _’ 表示的是A前后各一个字符
④逻辑表达式(组合条件)
and(与) or(或) not(非)
2.CRUD
① insert
语法:insert into 表名(字段列表) values(值列表)
注意:字段列表和值列表要一一对应
Mysql主键自动递增的原则:获取当前最大主键值+1
Insert多行:
语法:insert into 表名(字段列表) values(),(),(),()…
② delete
语法:delete from 表名 where 条件1 [and\or\not] 条件2
③ update
语法:update 表名 set 字段1=value1,字段2=value2… where 条件
注意:不加where条件则全部修改
④ select
语法:select 字段1,字段2,… from 表名 条件
3.基本查询
① 查询全部/部分的行或列
通过where条件过滤行,通过select来指定列
不等于: aid != 1 or aid <> 1
② as 给列取别名
select sid,name as ‘姓名’,age 年龄 from student;
as可以省略
③ 空 和 null的区别
select * from student where aid is NULL;
select * from student where aid is not NULL;
select * from student where name = ‘’;
把字段设置为NULL
update student set name = null where sid = 9;
设置值的内容为null字符串
update student set name = ‘null’ where sid = 9;
④ 常量列
‘字段值’ as 字段名
select sid,name,age,aid,sex,‘常理’ as 学校 from student;
⑤ 获取指定行数
关键字:limit
语法:limit n[,m] // limit n limit n,m
执行:对sql执行完后的结果再取相应的记录条数
select * from student where sex != 0 limit 3;
limit n : 获取结果中的前n条件记录
limit n,m :获取结果中的从n开始取m条记录,n从0开始
应用:分页
假设总共记录100条 count
每页显示6条 pageSize
总共多少页? totalPage = count%pageSize==0?count/pageSize:count/pageSize+1
cp n , m
第一页 0 ,6
2 6,6
3 12,6
cp (cp-1)*pageSize,6
limit (cp-1)*pageSize,pageSize
sql server:top
⑥ 排序
关键字:order by [ASC or DESC]
ASC升序(默认) DESC降序
select * from student order by age desc;
多个字段排序:
select * from student order by age asc,sid desc
4.函数
① 字符串函数(熟练)
Select concat(‘a’,b,d);
② 数值函数(了解)
③日期函数
注意:日期字段类型Date显示年月日,TimeStamp显示年月日时分秒
④控制流程(熟练)
select case (aid) when (1) then (‘舒适性’)when (2)then(‘经济型’) else(‘招待所’) end from student;
⑤系统函数
注意:了解密码加密