Mysql入门--->第一节

1、数据库定义

(1)数据定义语言(DDL):DROP(删除)、CREATE(创建)、ALTER(更新)等语句。

   隐形提交事务不能回滚

(2)数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

   增删改,都需要提交事务

(3)数据查询语言(DQL):SELECT语句。

(4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

   Data  Control  Language

2、SQL语句(数据库操作null值很危险,if null 判断)

主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。

select

 select * from testdb.test001 where id=#{id}

update  value

update testdb.test002 set pwd=#{userPwd} where id=#{userId}

inset into

insert into testdb.test001 (id,name) values (#{id},#{name})

delete

delete from testdb.test001 where id=#{id}

3、聚合函数

count:统计制定列不为空的记录行数

max、min、avg、sum

先条件过滤再分组

Group By 分组

order By(ASC、DESC)排序

HAving 先分组再条件过滤

 4、事务(一组逻辑操作单元)

原子性:事务不可分割,要么全部成功,要么全部失败

持久性:事务一旦提交,数据库的数据改变是永久性的

一致性:在事务开始和事务结束时,数据都保持一致状态(状态转换)

隔离性:事物的执行不被其他事物干扰

出现这种问题,就是隔离级别不够

脏读:t1执行更新但未提交(回滚)   t2 读取的是t1更改的数据,但是数据出错

不可重复读:一个事务对一行数据重复读取两次,可是得到了不同的结果。在两次读取数据的中途,有可能存在另外一个事务对数据进行了修改。

幻读:事务在操作过程中进行两次查询,第二次查询结果包含了第一次没有出现的数据。出现幻读的主要原因是,两次查询过程中另一个事务插入新的数据

5、隔离级别

数据库隔离级别包括未提交读(Read uncommitted)、已提交读(Read committed)、可重复读(Repeatableread)、可序列化(Serializable),事务的隔离级别越严格,并发副作用就越小,但付出的代价也越大。

 6、视图

数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据来自由定义视图查询所引用的表,并且在引用视图时动态生成。

7、存储过程

创建存储过程和函数使用的语句分别是CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句来调用存储过程,只能用输出变量返回值。

原文地址:https://www.cnblogs.com/springxian/p/13563044.html