• 事务


    事务

    事务指一组操作,要么都成功,要么都不成功

    /*
    start transaction
        sql语句
    commit(提交)/rollback(回滚到start之前的状态)
    

    特性

    原子性

    原子意为最小的粒子,即不能再分的事务,要么全部执行,要么全部取消

    一致性

    指事务发生前和发生后,数据的总额依然匹配

    隔离性

    某个事务的操作对其他事务不可见

    持久性

    当事务完成后,其影响应当保留下来,不能撤销;只能通过“补偿性事务”抵消之前的错误

    存储引擎

    MyIsam:辣鸡

    InnoDB:牛逼

    create table user(
    id int auto_increment primary key,
        name varchar(255) not null default''
    )engine=Innodb charset utf8;
    # mysql 5.5 以上默认Innodb
    #MyIsam 不支持事务,InnoDB支持事务
    #MyIsam 支持表锁,InnoDB支持行锁
    

    视图

    -- create view 视图名 as SQL语句
    
    #删除
    drop view 视图名
    
    -- 限制权限 grant select on 视图名 to 用户名
    -- 所有权限 grant all privileges on 视图名 to 用户名
    

    触发器

    delimiter //
    create trigger 触发器名 before sql语句
    begin
        sql语句
    end //
    delimiter ;
    
    
    #查看
    show triggers G
    
    #删除
    -- drop trigger 触发器名
    

    存储过程

    像一个函数

    delimiter //
    create procedure p1()
    begin 
        select * from user where id = 2;
    end //
    delimiter;
    
    call(p1)
    
    #删除
    drop procedure p1;
    

    函数

    CHAR_LENGTH(str)
       返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。
       对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。
    
    CONCAT(str1,str2,...)
       字符串拼接
       如有任何一个参数为NULL ,则返回值为 NULL。
    FORMAT(X,D)
       将数字X 的格式写为'#,###,###.##',以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若  D 为 0, 则返回结果不带有小数点,或不含小数部分。
       例如:
          SELECT FORMAT(12332.1,4); 结果为: '12,332.1000'
    INSTR(str,substr)
       返回字符串 str 中子字符串的第一个出现位置。
    LEFT(str,len)
       返回字符串str 从开始的len位置的子序列字符。
    LOWER(str)
       变小写
    UPPER(str)
       变大写
    LTRIM(str)
       返回字符串 str ,其引导空格字符被删除。
    RTRIM(str)
       返回字符串 str ,结尾空格字符被删去。
    SUBSTRING(str,pos,len)
       获取字符串子序列
    LOCATE(substr,str,pos)
       获取子序列索引位置
    REPEAT(str,count)
       返回一个由重复的字符串str 组成的字符串,字符串str的数目等于count 。
       若 count <= 0,则返回一个空字符串。
       若str 或 count 为 NULL,则返回 NULL 。
    REPLACE(str,from_str,to_str)
       返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
    REVERSE(str)
       返回字符串 str ,顺序和字符顺序相反。
    RIGHT(str,len)
       从字符串str 开始,返回从后边开始len个字符组成的子序列
    

    数据库备份

    -- MySQLdump -h服务器 -u用户名 -p密码 数据库名 表名,... 文件名.sql
    
    #单库备份
    mysqldump -uroot -p123 db1 > db1.sql
    mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql
    
    #多库备份
    mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
    
    #备份所有库
    mysqldump -uroot -p123 --all-databases > all.sql
    
    #重新导入
    source D:/test3.sql;
    
  • 相关阅读:
    Linux基础优化(二)
    权限
    分页
    序列化
    forms
    redis
    Django缓存机制
    跨域问题
    Django的ORM
    模板层
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11794574.html
Copyright © 2020-2023  润新知