MySQL初体验

操作数据库

创建数据库

create database 数据库名

查看数据库

show databases

选择数据库

use 数据库名

删除数据库

drop database 数据库名

MySQL数据类型 数值类型

tinyint

非常小的数据 1字节

int

标准整数 4字节

double

双精度浮点数 8字节

unsigned属性

标识为无符号数,非负数

zerofill属性

宽度(位数)不足以0补充

MySQL数据类型 字符串、日期类型

char[(M)]

定长字符串 M字节

varchar[(M)]

可变字符串 可变长度

datetime

YY-MM-DD hh:mm:ss

timestamp

YYYYMMDDHHMMSS

若某日期字段默认值为系统当前日期,可指定为TIMESTAMP类型

MySQL约束

主键约束

primary key(pk) 设置该字段为表的主键,可唯一标识该表记录

外键约束

foreign key(fk) 用于两表之间建立关系,需要指定引用主表的哪一字段

自动增长

auto_increment 设置该列为自增字段,默认每条自增1,通常用于设置主键

非空约束

not null 字段不允许为空

默认约束

default 赋予某字段默认值

唯一约束

unique key(uk) 设置字段的值是唯一的,允许为空,但智能有一个空值

主键与唯一约束的区别是 主键多了一个非空判断,而约束没有非空判断

注释与字符集编码

注释

COMMENT关键字

在表结构中可以看到,与代码注释不同

设置字符集编码

默认情况下,MySQL所有数据库、表、字段等使用MySQL默认字符集

为了存储独特的数据,可在创建表时指定字符集

语法:

CREATE TABLE [IF NOT EXISTS] 表名(

#省略代码

CHARSET = 字符集名;)

查看表

查看数据库中存在的表

SHOW tables

查看表结构

DESCRIBE 表名 或 DESC 表名

删除表

删除表及表中数据

DROP TABLE [IF EXISTS] 表名

在删除表之前,先使用IF EXISTS语句验证表是否存在

执行DROP TABLE 的表是空表,则可以直接删除

如果表中已存储了业务数据,则需和数据库管理员联系,先对数据库数据进行备份,再执行删除表及数据的操作

MySQL的存储引擎

是存储数据的核心组件,指定了表的存储类型和存储形式

存储引擎的类型

InnoDB 、MyISAM 、Memory 、CSV等9种

查看系统所支持的存储引擎类型

SHOW ENGINES;

常用的MySQL存储引擎

InnoDB存储引擎

支持具有提交、回滚和奔溃回复能力的事务控制

MyISAM存储引擎

不支持事务,也不支持外键约束,访问速度比较快

InnoDB和MyISAM存储引擎比较

功能                 InnoDB         MyISAM

事务处理         支持               不支持

外键约束         支持               不支持

表空间大小     较大                较小

数据行锁定    支持                 不支持

适用场景

使用MyISAM:不需事务,空间小,以查询访问为主

使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制

设置默认存储引擎

MySQL 5.7版本默认的存储引擎是InnoDB

查看当前默认存储引擎

SHOW VARIABLES LIKE 'default_storage_engine%'

修改存储引擎

修改my.ini配置文件

default-storage-engine=MyISAM <---改为其他类型的存储引擎

修改配置文件后,需要重启MySQL服务设置才会生效

设置表的存储引擎

数据表默认使用当前MySQL默认的存储引擎

创建表时,可以设置表的存储引擎类型

语法:

CREATE TABLE 表名(

#省略代码

)ENGINE = 存储引擎

数据表的存储位置

MyISAM类型表文件

*.frm:表结构定义文件

*.MYD:数据文件

*.:MYI:索引文件

InnoDB类型表文件

*.frm:表结构定义文件

ibdata1文件

操作数据库

创建数据库

create database 数据库名

查看数据库

show databases

选择数据库

use 数据库名

删除数据库

drop database 数据库名

MySQL数据类型 数值类型

tinyint

非常小的数据 1字节

int

标准整数 4字节

double

双精度浮点数 8字节

unsigned属性

标识为无符号数,非负数

zerofill属性

宽度(位数)不足以0补充

MySQL数据类型 字符串、日期类型

char[(M)]

定长字符串 M字节

varchar[(M)]

可变字符串 可变长度

datetime

YY-MM-DD hh:mm:ss

timestamp

YYYYMMDDHHMMSS

若某日期字段默认值为系统当前日期,可指定为TIMESTAMP类型

MySQL约束

主键约束

primary key(pk) 设置该字段为表的主键,可唯一标识该表记录

外键约束

foreign key(fk) 用于两表之间建立关系,需要指定引用主表的哪一字段

自动增长

auto_increment 设置该列为自增字段,默认每条自增1,通常用于设置主键

非空约束

not null 字段不允许为空

默认约束

default 赋予某字段默认值

唯一约束

unique key(uk) 设置字段的值是唯一的,允许为空,但智能有一个空值

主键与唯一约束的区别是 主键多了一个非空判断,而约束没有非空判断

注释与字符集编码

注释

COMMENT关键字

在表结构中可以看到,与代码注释不同

设置字符集编码

默认情况下,MySQL所有数据库、表、字段等使用MySQL默认字符集

为了存储独特的数据,可在创建表时指定字符集

查看表

查看数据库中存在的表

SHOW tables

查看表结构

DESCRIBE 表名 或 DESC 表名

删除表

删除表及表中数据

DROP TABLE [IF EXISTS] 表名

在删除表之前,先使用IF EXISTS语句验证表是否存在

执行DROP TABLE 的表是空表,则可以直接删除

如果表中已存储了业务数据,则需和数据库管理员联系,先对数据库数据进行备份,再执行删除表及数据的操作

MySQL的存储引擎

是存储数据的核心组件,指定了表的存储类型和存储形式

存储引擎的类型

InnoDB 、MyISAM 、Memory 、CSV等9种

查看系统所支持的存储引擎类型

SHOW ENGINES;

常用的MySQL存储引擎

InnoDB存储引擎

支持具有提交、回滚和奔溃回复能力的事务控制

MyISAM存储引擎

不支持事务,也不支持外键约束,访问速度比较快

InnoDB和MyISAM存储引擎比较

功能 InnoDB MyISAM

事务处理 支持 不支持

外键约束 支持 不支持

表空间大小 较大 较小

数据行锁定 支持 不支持

适用场景

使用MyISAM:不需事务,空间小,以查询访问为主

使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制

设置默认存储引擎

MySQL 5.7版本默认的存储引擎是InnoDB

查看当前默认存储引擎

SHOW VARIABLES LIKE 'default_storage_engine%'

修改存储引擎

修改my.ini配置文件

default-storage-engine=MyISAM <---改为其他类型的存储引擎

修改配置文件后,需要重启MySQL服务设置才会生效

设置表的存储引擎

数据表默认使用当前MySQL默认的存储引擎

创建表时,可以设置表的存储引擎类型

语法:

CREATE TABLE 表名(

#省略代码

)ENGINE = 存储引擎

数据表的存储位置

MyISAM类型表文件

*.frm:表结构定义文件

*.MYD:数据文件

*.:MYI:索引文件

InnoDB类型表文件

*.frm:表结构定义文件

ibdata1文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值