5.23数据库笔记

自关联

定义:简单理解就是一个表与自身连接
语法: SELECT * FROM areas as p INNER JOIN areas as c ON c.pid = p.aid WHERE p.atitle = '陕西省'

函数

  • 函数介绍

    • 事先提供好的一些功能可以直接调用
    • 函数可以用在SELECT语句及其子句
    • 也可以用在DUPATE,DELETE语句当中
  • 函数分类:字符串函数、数值函数、日期和时间函数、流程函数、其他函数

  • 字符串函数:REPLACE(str,a,b)INSERT('myxq123',5,3,‘lk’)LOWER(str)

SELECT LEFT('LEBO40',4)     -----LEBO
  • 日期与时间函数:```SELECT DATE_FORMAT(now(),'%M,%D,%Y')
  • 数值函数:ABS(x)
  • 流程函数
  • 其他常用函数

事务

  • 事务广泛的运用于订单系统,银行系统等多种场景
  • 四大特性:原子性、一致性、隔离性、持久性
  • 对应关系
    • 事务隔离级别:脏读、不可重复度、幻读
    • 读未提交
    • 不可重复读
    • 可重复读
    • 串行化

服务器端连接数据库:

  • mysql -uroot -p
  • 输入password
  • use lebo16
  • 开始事务:begin
  • 提交事务:commit(未提交的事务,数据不会同步更新,提交后才可以更新)
  • 回滚:rollback(相当于取消操作,回退到上一个操作)

视图

  • 定义:查询出的数据放在一个新建的表中,这个表就是视图(虚拟的表)
  • 语法:CREATE VIEW v_students AS SELECT * FROM STUDENTS;
  • 作用:安全性、提高性能、提高数据的独立性

存储过程

  • 创建步骤:函数-函数向导-过程-编写函数-右击运行函数
    • 声明关键字:DECLARE
    • 设置数值关键字:SET
    • 批量创建数据语句:
CREATE DEFINER = CURRENT_USER PROCEDURE  `cre_demo`()
BEGIN
DECLARE i INT;
SET i = 0;
WHILE i< 100 DO
  INSERT   INTO students(name)  VALUES(rand_string(5));
  SET i = i + 1;
END WHILE;
END;

索引

  • 定义:用于快速超出在某一列中有一特定值的行
  • 优势:
    • 提高数据检索效率,降低数据库的IO成本
    • 对于数据进行排序,减低数据排序的成本,降低CPU的消耗
  • 劣势:
    • 索引列也占用空间
    • 降低更新表的速度,如对表进行增删改
  • 语句:CREATE INDEX in_index ON STUDENTS(name)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容