MySQL数据库--表的操作

时间:2022-09-12 21:04:53

一 表的操作

  1. 查看当前库下所有的表

    show tables

  2. 查看当前所在的库

    select database()

  3. 库与库直接切换使用 use

    use 库名

  4. 查看当前创建表的语句

    show create table 表名 \G

  5. 创建表

    create table if not exists 表名(字段名 字段类型 约束条件,字段名 字段类型 约束条件);

  6. 删除表

    drop table 表名

    drop table if exists 表名

  7. 查看别结构

    desc 表名

二 表的字段类型

(1) 数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
tinyint 1字节 -128-127 0,255 最小整数值
int 4字节 -2147483648,2147483647 0,4294967295 大整数值
float 4字节     单精度浮点值
double 8字节     双精度浮点值
decimal 取决于你当前存储的值     小数值(更加精确)

注意:

int(4) tinyint(2) 的时候 不能够真正的去限制我存储数据的长度 只会影响显示

只有当int(4) 配合zerofill的时候 才有意义

在存储数值要求准确性高的时候 建议使用decimal

(2) 日期和时间(了解)

类型 大小 范围 格式 用途
date 3 1000-01-01/9999-12-31 YYYY-MM-DD 存储日期值
time 3 -838:59:59-838:59:59 HH:MM:SS 时间值
year 1 1901-2155 YYYY
datetime 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 年月日时分秒
注意:

在存储日期时 我们可以使用int来存储时间戳 这样方便我们对日期的计算

(3) 字符串

类型 大小 用途
char(0,255) 0-255字节 定长字符串
varchar(0,255) 0-65535字节 可变长度
text 0-65535字节 长文本数据
enum('w','m') 65535个成员 枚举:可以赋予某个枚举成员
set('w','m') 64个成员 集合:可赋予多个集合成员,多个值之间用逗号来隔开

char和varchar的区别:

  1. char的执行效率高于varchar varchar相对char节省存储空间

  2. char和varchar存储的最大值的范围都为255

  3. char在插入数据的长度小于指定的长度的时候 会使用空格补位到指定的长度

  4. 当存储数据的长度超出了我所指定的长度 超出的会截取(开启了不严谨报错)

 

 

 

开启不严谨报错

默认mysql的报错模式为严谨报错 只要数据出现了问题 就会报错
开启不严谨报错 当数据超出范围以后 自动截取为最大值
将原来的sql-mode 注释掉 -->重启mysql的服务->重新打开终端->不严谨报错生效

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"