一、SQL语言简介
结构化查询语言(SQL)是一个非过程化的语言,它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
二、SQL语言构成
1.数据定义语言(DDL)
用于在数据库系统中对数据库,表,视图,索引等数据库对象进行创建和管理。
create,alter,truncate,drop
2.数据操作语言(DML)
用于插入,修改,删除和查询数据库中的数据
select,insert,update,delete
3.事务控制语言(TCL)
事务是最小的工作单元,作为一个整体进行工作
保证事务的整体成功或失败,称为事务控制
commit,savepoint,rollback
该组DML的操作要么全确认,要么全取消。比如银行转账业务 步骤一:从A账户减少300元,步骤二:向B账户增加300元。为了确保总的金额不变,就要维持数据的一致性,步骤一和步骤二两个操作或者全确认或者全取消。
4.数据控制语言(DCL)
用于对基本表和视图的授权,完整性规则的描述,事务控制等内容
grant,revoke
三、SQL操作符
1.算术操作符
+、-、*、/
2.比较操作符
=、!=、<、>、<=、>=、BETWEEN…AND、IN、LIKE 和 IS NULL等
between...and语句
select * from iweb_tbl_user where age <=23 and age >= 21;相当于
select * from iweb_tbl_user where age between 21 and 23;
in语句
select * from iweb_tbl_book
where price = 33 or price = 48 or price = 37;相当于
select * from iweb_tbl_book
where price in(33,37,48);
like语句
select * from iweb_tbl_user
where name like '张%';--姓张的同学
select * from iweb_tbl_user
where tel like '%0';--手机尾号为0的同学
select distinct book_id,isbn,title,publisher,
borrowdate,returndate from v_record
where isbn like '97878%';--借阅书籍isbn为97878开头的书籍信息
3.逻辑操作符
与(AND)、或(OR)和非(NOT)
4.集合操作符
union(并集)连接两句sql语句, 两句sql语句的和 去掉重复的记录。
union all (并集)接接两句sql语句,两句sql语句的和不用去掉重复的记录。
intersect (交集)连接两句sql语句 取查询出来的两个集合的共同部分
minus (补集)连接两句sql 语句,取查询出来的两个集合的差。
5.连接操作符
(||) 用来连接连个字段,或者将多个字符串连接起来。
select distinct age || sex from iweb_tbl_user;
select * from
iweb_tbl_record r right join iweb_tbl_user u
on r.user_id = u.id;--右连接,以右边表为主表显示
select * from
iweb_tbl_record r left join iweb_tbl_user u
on r.user_id = u.id;--左连接,以左边表为主表显示
优先级比较
算术操作符 --------最高优先级
连接操作符
比较操作符
NOT 逻辑操作符
AND 逻辑操作符
OR 逻辑操作符 --------最低优先级
网友评论