首页 > 数据库技术 > 详细

mysql数据库表的类型介绍

时间:2019-09-23 21:36:36      阅读:174      评论:0      收藏:0      [点我收藏+]

前言

之前我们讲了下载安装数据库,还有如何卸载(虽然直接重装系统就好)

那么现在让我们来讲讲

"""
1、数据库与表的剩余操作
    编码配置、引擎介绍
2、数据库字段的操作
3、数据库的数据类型
4、数据库字段的约束条件
"""

数据库的配置

通过配置文件统一配置的目的是统一管理

  • 服务端(mysqld)
  • 客户端(client)

那么如果我们配置了mysqld(服务端)的编码为utf8,那么再创建的数据库,默认编码都采用utf8

配置流程

  1. 在mysql安装目录下,创建文件----->my.ini

    ? ps : mac下配置文件名叫my.cnf

  2. 设置配置文件内容并保存

    [mysqld] #服务器配置
    port=3306    #可以修改数据库默认端口
    character-set-server=utf8 #编码格式
    collation-server=utf8_general_ci
    [client] #mysql再见的客户端叫[mysql],配置[client]即配置了[mysql],也配置了其他存在方式的客户端,比如Navicat可视化客户端
    default-character-set=utf8
  3. 重启数据库服务

数据库修改信息

修改字符编码

  • alter database 数据库名 charset=编码格式;

用户操作(******

为特定的数据库分配该数据库的操作权限的用户

  • grant 权限们 on 数据库.表 to 用户名@‘主机名‘ identified by ‘密码‘;

    1. all:所有权限
    2. oldboy.*:表示oldboy数据库下所有表
    3. oldboy@‘localhost‘:本机可以通过oldboy用户登录
    4. identified by ‘Oldboy123‘:密码为Oldboy123
    • grant all on oldboy.* to oldboy@‘localhost‘ identified by ‘Oldboy123‘;

撤销权限

  • revoke 权限1,权限2,...on 数据库名.表名 from 用户名@‘主机名‘;

删除用户

  • drop user 用户名@‘主机名‘;

数据库表的引擎:驱动数据的方式-优化

前言:引擎是建表时候的规定,提供给表使用的,不是数据库。用于优化数据库模式


展示引擎语句

  • show engines;
# innodb(默认): 支持事务, 行级锁, 外键
create table t11(id int)engine=innodb;

# myisam: 查询效率要优于innodb, 当不需要支持事务, 行级锁, 外键, 可以通过设置myisam来优化数据库
create table t12(id int)engine=myisam;

# blackhole:黑洞,存进去的数据都会消失(可以理解不存数据)
create table t13(id int)engine=blackhole;

# memory:表结构是存储在硬盘上的,但是表数据全部存储在内存中
create table t14(id int)engine=memory;

数据库模式

前言:mysql 5.7以后默认为安全模式


5.6版本
  • 非安全模式:sql_model=no_engine_substitution
  • 安全模式:sql_model=strict_trans_tables
# 查看当前数据库模式:
show variables like "%sql_mode%"; # %匹配0~n个任意字符 => 模糊查询

# 临时设置为安全模式,服务重启后会被重置
set global sql_mode="strict_trans_tables";  # 在root用户登录状态下
# 在设置后,quit断开数据库连接后(服务器不重启)就会进入安全模式

# 安全模式下,非安全模式下sql执行的警告语句,都会抛异常
create table t1(name char(2));
insert into t1 values ("ab") # 正常
insert into t1 values ("guapi") # 错误 Data too long for column 'name' at row 1

mysql支持的数据类型

数据类型

  • 数据类型表
类型 大小 范围(有符号) 范围(无符号)unsigned约束 用途
TINYINT 1字节 (-128,127) (0,255) 小整数值
SMALLINT 2字节 (-32768,32767) (0,65535) 大整数值
MEDIUMINT 3字节 (-8388608,8388607) (0,16777215) 大整数值
INT或INTEGER 4字节 (-2147483648,2147483 647) (0,4294967295) 大整数值
BIGINT 8字节 (-9233372036854775808,9223372036854 775807) (0,18446744073709551 615) 极大整数值
FLOAT 4字节float(255,30) (-3.402823466E+38,-1.175494351E-38),0,(1.175 494351E-38,3.402823466351E+38) 0,(1.175494351E-38,3.402823466E+38) 单精度浮点数值
DOUBLE 8字节double(255,30) (-1.7976931348623157E+308,-2.225073858 5072014 E-308),0,(2.2250738585072014E-308,1.7976931348623157E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精准浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2double(65,30) 依赖于M和D的值 依赖于M和D的值 x小数值

mysql数据库表的类型介绍

原文:https://www.cnblogs.com/ledgua/p/11574914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!