欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库Ⅱ——数据表创建

程序员文章站 2022-05-30 18:18:11
...

一、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)
相关标签: mysql 数据库