0%

MySQL基础

基础语法

  • create DATABASE RUNOOB;:创建数据库

  • drop database RUNOOB; :删除数据库

  • use RUNOOB;:选择数据库

  • CREATE TABLE table_name (column_name column_type)ENGINE=InnoDB DEFAULT CHARSET=utf8;:创建数据表

  • DROP TABLE table_name ;:删除数据表

  • INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );:插入数据

  • SELECT column_name,column_name FROM table_name [WHERE Clause];:查询数据

  • UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause];:更新数据

  • DELETE FROM table_name [WHERE Clause];:删除数据

知识点

  • LIKE:LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *

    菜鸟教程上的例子:
    SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';

  • UNION:UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据

  • 排序: ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果

    用法:ORDER BY xxx ASC/DESC;

  • 分组:GROUP BY 语句根据一个或多个列对结果集进行分组,在分组的列上我们可以使用 COUNT, SUM, AVG,等函数

    用法:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

  • 连接

    • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录
    • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录
    • RIGHT JOIN(右连接: 获取右表所有记录,即使左表没有对应匹配的记录
  • 事务
    事务的四大特性

    • 原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态

    • 一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的

    • 隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。这通常使用锁来实现。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度

    • 持久性:事务一旦提交,其结果就是永久的。即便发生系统故障,也能恢复

      事务处理:

    • BEGIN:开始一个事务

    • COMMIT:事务确认

    • ROLLBACK:事务回滚

  • 索引
    索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。虽然建立索引会大大提高检索速度,但会降低更新表的速度

  • MYISAM 和 InnoDB(默认引擎) 存储引擎

    • InnoDB支持事务、外键,MYISAM不支持

    • InnoDB 跨平台可直接拷贝使用,MYISAM 不行

    • DELETE 表时,InnoDB 是一行一行的删除,MYISAM 是先drop表,然后重建表

    • MYISAM提供高速存储和检索,以及全文搜索能力,适合读多,写少;相反InnoDB 适合读少,写多

    • MYISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁

  • 脏读、不可重读和幻读

    • 脏读: