数据库基础MySQL(二 有关建表)

1.MySQL的引擎

1.1MySQL引擎简介

        MySQL有多种引擎,能执行create table、select等命令,在数据量不多时,使用任何引擎都没什么关系。但是,在大数据开发期间,要处理海量数据,就需要来了解MySQL的多种引擎了。

1.1.1MySQL的引擎作用

       (1)当你使用create table语句时,该引擎用于创建表;
       (2)当在你使用select语句或进行其他数据操作时,该引擎在内部处理各种命令请求;
       (3)在多数时候,数据库引擎都隐藏在MySQL软件内,开发者不需要过多地关注它,但通常SQL内部数据出现问题时, 就是引擎导致的。

1.1.2在MySQL中,有3类引擎

        (1)InnoDB是一个可靠的事务处理引擎,但是它不支持全文搜索; [逻辑单元]
        (2)MyISAM是一个性能极高的引擎,它支持全文搜索,但不支持[事务]处理; 
        (3)Memory在功能等同于MyISAM,但由于数据存储在内存中,速度很快,但占用内存大,因此几乎不使用此引擎。

        常用的两者区别如下图所示;

2.设定MySQL引擎

        设定引擎的语法

create table 表名(
    字段名 数据类型(长度) [约束],
    ...
) engine = 引擎名 default charset utf8;

注:引擎的单词是engine。

3.清空数据的区别

        清空数据有两种不同的方式: 两种方式都可以用于清空数据内容。          

# 删除数据表数据
delete from 表名;

# 销毁及删除数据表数据
truncate  [table] 表名;

两者的区别在于:

(1)delete删除数据时,是一条一条的删除数据记录,效率低;

(2)truncate删除数据时,是将整个表销毁,然后再创建一张一模一样的表,并且用auto_increment修饰的字段将重置为0重新开始计算。

4.SQL约束

4.1SQL约束简介

        创建数据表语法:

create table 表名(
    字段名1 数据类型(长度) [约束],
    字段名2 数据类型(长度) [约束],
    字段名3 数据类型(长度) [约束],
    ...
) engine = 引擎名 default charset utf8;

        字段名的结尾处可以添加SQL约束。SQL约束是用于指定字段数据的规则,可以保证数据更加精确、可靠。通俗地说,SQL约束就是数据在类型的基础上【增加了额外要求】。

(1)SQL约束不是必须的,而是为了让SQL更加规范而存在;
(2)在学习SQL过程中,为了便于初学者更好的理解SQL约束,会单独讲解SQL约束;
(3)在实际应用中,可以对字段同时设定多个SQL约束,且都是在创建数据表时进行设定。

4.2 主键约束

        添加主键约束语法:

create table 表名(
	字段名 数据类型(长度) primary key 或[其他约束],
	...
) engine = 引擎名 default charset utf8;

# 创建表后,使用alter table关键字添加主键
alter table 表名 add primary key(字段名);

4.3删除主键约束        

        当不需要主键约束时,则可以删除。删除主键约束,语法如下:

# 使用alter table关键字删除主键
alter table 表名 drop primary key;

4.4自动增长

        让主键约束字段为自动增长[auto],语法:

create table 表名(
	字段名 数据类型(长度) primary key auto_increment,
	...
) engine = 引擎名 default charset utf8;

4.5默认值约束

        当在创建表时给某字段添加默认值约束,语法:

create table 表名(
	字段名 数据类型(长度) [其他约束] default 值,
	...
) engine = 引擎名 default charset utf8;

注意;

(1)有了默认值约束后, 当不传递字段对应的值时,会使用默认值;
(2)有了默认值约束后, 当传递字段对应的值时,会传递的具体值为准。

对于其他约束,可以看上面的表进行了解,并不常用。

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值