MySQL 增删改查手册

个人博客

  • CDUR:Create Delete Update Retrieve
  • DDL(Data Definition Language): create, drop, alter
    • 操作数据库
      • 正在使用:select database(); 切换 use 数据库名称;
      • ` create database (if not exists) 数据库名称 (character set 字符集名);
      • drop database if exists 数据库名称;
      • alter database 数据库名称 character set 字符集名称
      • show databases; / show create database 数据库名称;
    • 操作表
      • CREATE TABLE 表名(列名 列类型,列名 列类型); 最后一列,不加逗号(,)
      • drop table if exists 表名;
      • U
        • alter table 表名 rename to 新的表名 ;
        • alter table 表名 character set 字符集名称; 与 rename 不能同时
        • alter table 表名 add 列名 数据类型;
        • alter table 表名 change 列名 新列名 新数据类型;
        • alter table 表名 modify 列名 新数据类型;
        • alter table 表名 drop 列名;
      • R
        • create table 表名 like 被复制的表名; 复制
        • show tables; show create table 表名;
        • desc 表名; 查询表结构
  • DML(Data Manipulation Language):insert, delete, update 增删改表中数据
    • INSERT INTO 表名(列名1,列名2, ...) VALUES(值1, 值2,...),不定义列名,则默认给所有列添加值
    • DELETE FROM 表名 [WHERE 条件] `TRUNCATE TABLE 表名; ``
    • UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 条件]
  • DQL(Data Query Language): select, where
    • select 字段 [DISTINCT]去重 [AS] from 表名 [where] 条件 [group by] 分组字段 [having] 分组之后的条件 [order by] (DESC)排序 [limit] 分页限定
  • DCL(Data Control Language): GRANT, REVOKE
  • 约束:not null unique primary key foreign key auto_increment
  • 事务:start transaction rollback commit savepoint
  • ACID :原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
  • 事务隔离级别:read uncommitted:读未提交、read committed:读已提交、repeatable read:可重复读 (MySQL默认)、serializable:串行化
  • select @@transaction_isolation 查询隔离级别
  • set global transaction isolation level 设置隔离级别
  • 备份和还原 :-- 备份 mysqldump -u用户名 -p密码 数据库名称 > 保存的路径
  • mysqldump -uroot -proot db02 > C://t3.sql
  • 执行文件 source 文件路径 (source c://t3.sql;)还原,需使用新数据库
    事务隔离
  • 脏读:一个事务,读取到另一个事务中没有提交的数据。
  • 虚读(不可重复读):在同一个事务中,两次读取到的数据不一样,A事务读到了B事务提交之后的数据(更新操作)。
  • 幻读:两个事务冲突,修改别人已经修改过的,而产生的报错(幻觉)

注意:

  1. 如果不加条件,则删除表中所有记录

  2. 如果要删除所有记录

    1. 不推荐使用。有多少条记录就会执行多少次删除操作

      delete from 表名;

    2. 推荐使用,效率更高 先删除表,然后再创建一张一样的表。

      TRUNCATE TABLE 表名;

where子句后跟条件

> 、< 、<= 、>= 、= 、<>  
BETWEEN...AND  
and  或 &&
or  或 || 
IN( 集合)
IS NULL  是  空
not 或 !

模糊查询

  • LIKE:模糊查询必须使用like关键字

  • 占位符

    • _ : 单个任意字符

    • % 多个任意字符

聚合函数

  • 聚合函数将一列数据作为一个整体,进行纵向的计算

    • COUNT()统计指定列不为NULL的记录行数;

    • MAX()计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

    • MIN()计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

    • SUM()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

    • AVG()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
      IFNULL(english,0) 英语是null name就按照0分计算

级联操作(了解)

ALTER TABLE 表名 ADD 
CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) 

ON UPDATE CASCADE 
ON DELETE CASCADE;

多表查询

内连接:查询多张表的交集信息。

外连接:查询某个表的全部信息的同时在查询另一张表的交集信息。

你可能感兴趣的:(手册,mysql,oracle,数据库)