zoukankan      html  css  js  c++  java
  • 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语句来调用存储过程,只能用输出变量返回值。

  • 相关阅读:
    LeetCode Merge Two Sorted Lists 归并排序
    LeetCode Add Binary 两个二进制数相加
    LeetCode Climbing Stairs 爬楼梯
    034 Search for a Range 搜索范围
    033 Search in Rotated Sorted Array 搜索旋转排序数组
    032 Longest Valid Parentheses 最长有效括号
    031 Next Permutation 下一个排列
    030 Substring with Concatenation of All Words 与所有单词相关联的字串
    029 Divide Two Integers 两数相除
    028 Implement strStr() 实现 strStr()
  • 原文地址:https://www.cnblogs.com/springxian/p/13563044.html
Copyright © 2011-2022 走看看