> 文章列表 > MySql基础知识笔记(第1节)

MySql基础知识笔记(第1节)

MySql基础知识笔记(第1节)

    • 1. 常见MySql语句
    • 2. 更新和删除的指导原则(MySql没有撤销(undo))
    • 3. 确定AUTO_INCREMENT(自动增量)值
    • 4. MySql的多种引擎
    • 5. 什么是视图(View)?
    • 6. 什么是事务处理?

1. 常见MySql语句

"[ ]"括号表示该参数可省略。

  • SELECT语句是数据库中用到最多的语句,用于从一个或多个表(视图)中检索数据。
SELECT 列名, ...
FROM 表名, ... 
[WHERE...] 
[UNION...] 
[GROUP BY....] 
[HAVING...] 
[ORDER BY...];

  • DELETE语句从表中删除一行或者多行。该语句不删除表本身,如果想删除表中所有行,不要使用DELETE,可以使用TRUNCATE TABLE语句,速度更快,该语句实际上是删除原来的表并创建一个表,而不是逐行删除表中的数据。
 DELETE FROM 表名 [WHERE ...];

  • DROP永久的删除数据库对象(表,视图,索引等)。
DROP DATABASE|INDEX|PROCEDURE|TABLE|TRIGGER|USER|VIEW itemname;

  • INSERT给表增加一行。
 INSERT INTO 表名 [(列名, ...)]VALUES(值, ...);

  • UPDATE更新表中一行或多行。
 UPDATE 表名SET 列名 = 值, ...[WHERE ...];

2. 更新和删除的指导原则(MySql没有撤销(undo))

  1. 先确定好要更行或者删除哪一行,使用带WHERE的UPDATE或者DELETE语句,不然可能改变整个表的数据或者删除整个表的数据。
  2. 保证每个表都有主键。
  3. 在对UPDATE或者DELETE语句使用WHERE前,可以先用SELECT进行测试,看是否过滤正确,以防编写的WHERE子句不对。
  4. 使用强制实施引用完整性的数据库(通过在表中的定义指定主键和外键来实现),这样MYSQL将不允许删除具有与其他表相关联的数据的行。

3. 确定AUTO_INCREMENT(自动增量)值

每个表只允许一个AUTO_INCREMENT列,而且它必须被索引(例如使这列成为主键)。
SELECT last_insert_id()返回最后一个AUTO_INCREMENT值。

4. MySql的多种引擎

  1. InnoDB是一个可靠的事务处理引擎,它不支持全文本搜索。
  2. MEMORY在功能上等同于MyISAM,但由于数据存储在内存(不是磁盘),速度很快(特别适合于临时表)。
  3. MyISAM是一个性能极高的引擎,支持全文本搜索,但不支持事务处理。

5. 什么是视图(View)?

视图是虚拟的表。它们包含的不是数据而是根据需要检索数据的查询。视图提供了一种MySql的SELECT语句层次的封装,可用来简化数据处理以及重新格式化基础数据或保护数据。

6. 什么是事务处理?

事务处理是一种机制,用来管理必须成批执行的MySql操作,以保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们或者作为整体执行,或者完全不执行(除非明确指示)。如果没有错误发生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤销)以恢复数据库到某个已知且安全的状态。