当前位置:   article > 正文

MySQL:数据类型&表的基础操作

MySQL:数据类型&表的基础操作

目录

1、数据类型

1.1 数值类型

 1.2 字符串类型

1.3 日期类型

2、表的基础操作

2.1 选择数据库

 2.2 建表

2.3 查看库中所有表

2.4 查看某一表结构

 2.5 删表

3、可视化编辑工具

3.1 运行


1、数据类型

1.1 数值类型

  • bit类型可指定长度(如果不写,默认为1位),最多指定长度为64,也就是说最多可表示64个二进制位。
  • tinyint类型也可指定长度,指定长度为1时,就认为是bool类型,也就是说 bool = tinyint(1)
  • bigint定义的整型范围比int类型更大,在建表定义编号字段时,通常使用bigint类型定义
  • float、double表示小数,但会造成精度丢失。 
  • decimal类型,M为指定的总长度,D为指定的小数位数,不会造成精度丢失,故使用小数时就用decimal定义(常用于金额)。

注意:decimal中的指定的M长度,不包括负号和小数点;若指定的D为0,则不保存小数点和小数部分(decimal表示的为整数) 。 

上述常用类型为:tinyint、int、bigint、decimal(表示小数)


 1.2 字符串类型

  •  varchar类型是最常用的字符串类型,可指定字符数量,注意,是指定字符的数量,而不是字节数。
  • text为文本数据类型,保存文章帖子等等
  • mediumtext也为文本数据类型,保存数量更大
  • blob 用来存储文件的二进制形式。但在数据库中,不建议存文件,我们通常将文件存在磁盘上,而在数据库相应的字段中存储该文件路径。

注:对于utf8mb4编码集,其中每个字符大小为:1-4字节。简单字符为1个字节,而复杂的字符最多为4个字节,如emj表情。

也就是说1个varchar类型的字段最多可存放的字符数量为: 65535/4=16383(要考虑极端情况)

拓展: 

  • 文本文件:我们能直接看懂的文件,如:记事本写的日记、Java源代码...等等
  • 二进制文件: 只有机器或程序才能读懂,以文本形式打开为乱码,以二进制形式打开为01二进制编码

1.3 日期类型

  • datetime 为新的时间类型,当跨世纪时为避免千年虫问题,避免数据的时间混乱,加大了之前timestamp的范围,datetime 为最新的时间类型。
  • timestamp 时间戳,范围小,舍弃这个类型即可。

2、表的基础操作

已知,数据库中有多个表,每个表中存储着多条记录,而每条记录又由多个列构成。

所以,我们要先选择相关数据库,然后再对这个数据库中的表进行相关操作。

2.1 选择数据库

  • 选择数据库:use 数据库名;(若没有库,要先建库) 
  • 查看所选择数据库:select database();

因为database()是MySQL内置的一个方法。

 2.2 建表

其中每个字段后,可用comment进行字段注解。

创建表也可加if not exists校验create table if not exists 表名(....);和建库时一样的写法。

注:每个表中,都强烈建议设计一个编号字段,类型设为bigint;若有varchar类型,则一定要指定长度。

  1. -- 创建数据库
  2. drop database if exists bit_mall;
  3. create database if not exists bit_mall character set utf8mb4 collate utf8mb4_0900_ai_ci;
  4. -- 选中数据库
  5. use bit_mall;
  6. -- 建表
  7. -- 商品表
  8. drop table if exists goods;
  9. create table if not exists goods(
  10. goods_id bigint comment'商品编号',
  11. goods_name varchar(20) comment'商品名',
  12. unitprice decimal(10,2) comment'商品单价',
  13. category varchar(10) comment'商品类别',
  14. provider varchar(50) comment'供应商'
  15. );
  16. -- 客户表
  17. drop table if exists customer;
  18. create table if not exists customer (
  19. customer_id bigint comment'客户号',
  20. name varchar(20) comment'客户姓名',
  21. address varchar(20) comment'客户住址',
  22. email varchar(50) comment'客户邮箱',
  23. gender bool comment'客户性别',
  24. card_id varchar(18) comment'客户身份证'
  25. );
  26. -- 购买表
  27. drop table if exists purchase;
  28. create table if not exists purchase (
  29. order_id bigint comment'购买订单号',
  30. customer_id bigint comment'客户号',
  31. good_id bigint comment'商品号',
  32. nums int comment'购买数量'
  33. );

2.3 查看库中所有表

查看所选择数据库中的所有表show tables;(所有表,所以为复数)

  1. -- 查看库中的所有表
  2. show tables;

2.4 查看某一表结构

查看所选择数据库中的某一个表的结构:desc 表名;

  1. -- 查看表结构
  2. -- purchase为表名
  3. desc purchase;

 2.5 删表

删除表:drop if exists 表名;

一个drop语句可以删除多个表,表名之间用逗号隔开。

还是那句话:使用drop语句非常危险,要慎之又慎!!!

  1. -- 删表
  2. -- goods为表名
  3. drop table if exists goods;

3、可视化编辑工具

命令行客户端工具,只执行一些简单的查询或是指令,如果一两句SQL可以搞定就在这里面去执行。

但如果说要编写复杂的SQL,比如表设计,复杂查询等操作,建议大家还是去可视化工具中编写。

3.1 运行

当我们在可视化工具中编写好SQL语句后,如何在命令行工具中运行呢?

在编辑器中编写好后,保存为一个sql文件,在命令行工具中使用以下SQL语句均可运行:

  1. \. 路径  
  2. source 路径

\. D:\database\lesson3.sql

 END

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/922401
推荐阅读
相关标签
  

闽ICP备14008679号