MYSQL基本操作小结

Tyrant 2019年02月21日 •  Linux 数据库 209 •  0
本文最后修改于 111 天前,部分内容可能已经过时!

数据类型

  • 可以通过查看帮助文档查阅所有支持的数据类型
  • 使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间
  • 常用数据类型如下:

    • 整数:int,bit
    • 小数:decimal
    • 字符串:varchar,char
    • 日期时间: date, time, datetime
    • 枚举类型(enum)
  • 特别说明的类型如下:

    • decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
    • char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
    • varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
    • 字符串text表示存储大文本,当字符大于4000时推荐使用
    • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
  • 更全的数据类型可以参考http://blog.csdn.net/anxpp/article/details/51284106

约束

  • 主键primary key:物理上存储的顺序
  • 自增auto_increment: 表示自动增长
  • 非空not null:此字段不允许填写空值
  • 惟一unique:此字段的值不允许重复
  • 默认default:当不填写此值时会使用默认值,如果填写时以填写为准
  • 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
  • 说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制

数据类型(常用)

类型字节大小有符号范围(Signed)无符号范围(Unsigned)
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT/INTEGER4-2147483648 ~21474836470 ~ 4294967295
BIGINT8-9223372036854775808 ~ 92233720368547758070 ~ 18446744073709551615

字符串

类型字节大小示例
CHAR0-255类型:char(3) 输入'ab', 实际存储为'ab ', 输入'abcd' 实际存储为'abc'
VARCHAR0-255类型:varchar(3) 输'ab',实际存储为'ab', 输入'abcd',实际存储为'abc'
TEXT0-65535大文本

日期时间类型

类型字节大小示例
DATE4'2020-01-01'
TIME3'12:29:59'
DATETIME8'2020-01-01 12:29:59'
YEAR1'2017'
TIMESTAMP4'1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC

数据库操作

  • 查看数据库列表
show databases;
  • 新增数据库
create database 数据库名字 charset=utf8;
  • 删除数据库
drop database 数据库名字;
  • 查看当前编辑的数据库
select databases();
  • 使用数据库
use 数据库名字;

数据表操作

  • 查看数据表列表
show tables;
  • 查看表结构
desc 表名;
  • 创建表
create table 名字(
    字段名 数据类型 约束条件,
    字段名 数据类型 约束条件,
    ...
    字段名 数据类型 约束条件
);
  • 修改表-添加字段
alter table 表名 add 字段名 数据类型 约束条件;
  • 修改表-修改字段-重命名版
alter table 表名 change 原名 新名 数据类型 约束条件;
  • 修改表-修改字段-不重命名版
alter table 表名 modify 列名 数据类型 约束条件;
  • 修改表-删除字段
alter table 表名 drop 字段名;
  • 删除表
drop table 表名;
  • 查看表的创建语句
show create table 表名;
Tags:MYSQL
上一篇
打赏
下一篇

添加新评论