数据库Ⅱ——数据表创建

一、MySQL存储引擎

1.什么是存储引擎?

存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不同的存储方式、是否进行事务处理等来选择合适的存储引擎

2.如何查看MySQL的存储引擎?

查看MySQL支持的存储引擎: SHOW ENGINES
查看显示支持的存储引擎信息:
SHOW VARIABLES LIKE 'have%'

查看默认的存储引擎:
SHOW VARIABLES LIKE 'storage_ engine'

3.MySQL常用存储引擎及特点

(1)InnoDB

①优缺点:
优势在于提供了良好的事务管理、奔溃修复能力和并发控制。
缺点是读写效率稍差,占用的数据空间相对比较大。
②适用场合:
更新密集的表:InnoDB存储引擎特别适合处理多重并发的更新请求。
事务:InnoDB存储引擎是唯一支持事务的标准MySQL存储引擎,这是管理敏感数据(如金融信息和用户注册信息)的必须软件
自动灾难恢复:与其他存储引擎不一样,InnoDB表能够自动从灾难中恢复。虽然MyISAM表也能在灾难后修复,但其过程要长的多

(2)MyISAM

①优缺点:
MyISAM存储引擎的优势在于占用空间小,处理速度快,缺点是不支持事务和并发性。

(3)Memory

①MEMORY存储引擎的优缺点:
MEMORY表的大小是受到限制的。表的大小主要取决于两个参数,分别是max_rows和max_heap_table_size。其中,max_rows可以在创建表时指定:max_heap_table_size的大小默认为16MB,可以按需要进行扩大。因其存在内存中的特性,这类表的处理速度非常快。但是其数据容易丢失,生命周期短。(注意:mysqld守护进程奔溃时,所有的MEMORY数据都会丢失)
MEMORY表不支持VARCHAR、BLOB、TEXT数据类型,因为这种表类型按固定长度的记录格式存储。此外,如果使用版本4.1.0之前的MySQL,这不支持自动增长列。
②适用场景:
暂时:目标数据只是临时需要,在其生命周期中必须立即可用。
相对无关:存储在MEMORY表中的数据如果突然丢失,不会对应用服务产生实质的负面影响,而且不会对数据完整性有长期影响。

二、数据表创建

1.什么是表?

  • 数据表是数据库最重要的组成部分之一,是其它对象的基础
  • 数据表是存储数据的数据结构
  • 数据表是包含了特定实体类型的数据
  • 数据表由行(row)和列(column)构成的二维网络
  • 数据表一定先有表结构,再有数据
  • 数据表至少有一列,可以没有行或者多行
  • 数据表名称要求唯一,而且不要包含特殊字符

2.如何创建数据表?

(1)代码实现

CREATE TABLE [IF NOT EXISTS] tbl name( 字段名称字段类型[完整性约束条件]...)ENGINE=引擎名称CHARSET=编码方式;

(2)完整性约束条件

PRIMARY KEY 主键
AUTO_INCREMENT 自增长
FOREIGN KEY外键
NOT NULL 非空
UNIQUE KEY唯一
DEFAULT默认值

(3)试验:

提示:

  • 注释:#或–
  • 需要输入中文时,需要临时转换客户端的编码方式:
SET NAMES GBK;
  • 通过COMMENT给字段添加注释

测试:

mysql> CREATE TABLE IF NOT EXISTS `user`(
    -> id SMALLINT,
    -> username VARCHAR(20),
    -> age TINYINT,
    -> sex ENUM('男','女','保密'),
    -> emali VARCHAR(50)
    -> )ENGINE=INNODB
    -> ;
Query OK, 0 rows affected (0.03 sec)

mysql> SHOW TABLES
    -> ;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.00 sec)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章