MySQL<2>

x33g5p2x  于2021-11-09 转载在 Mysql  
字(1.5k)|赞(0)|评价(0)|浏览(293)

常用数据类型

1.数值类型

可分为:整型 和 浮点型

数据类型大小说明对于 Java 类型
BIT [ (M) ]M 指定位数,默认为1二进制数,M 范围 [1,64],存储数值范围:[0,2M-1]常用 Boolean 对应BIT,此时默认是1位,即只能存 0 和 1
TINYINT1 字节Byte
SMALLINT2 字节Short
INT4字节Integer
BIGINT8 字节Long
FLOAT(M,D)4 字节单精度,M指定长度,D指定小数位数。会发生精度丢失Float
DOUBLE(M,D)8 字节Double
DECIMAL(M,D)M / D最大值+2双精度,M指定长度,D表示小数点位数。精确数值BigDecimal
NUMERIC(M,D)M / D最大值+2和DECIMAL一样BigDecimal

注意事项:
数值类型可以指定为无符号(unsigned),表示不取负数
1 字节(Bytes) = 8 bit

整型类型的范围:

  • 有符号范围:-2 (类型字节数8-1) 到 2 (类型字节数8-1)-1,如:int是4字节,就是-2 31 到 2 31 -1
  • 无符号范围:0 到 2(类型字节数*8)-1,如int:就是 2 32 -1

2.字符串类型

数据类型大小说明对于 Java 类型
VARCHAR (SIZE)0 - 65535字节 (0 ~ 64k)可变长度字符串String
TEXT0 - 65535字节 (0 ~ 64k)长文本数据String
MEDIUMTEXT0 - 16 777 215字节中等长度文本数据String
BLOB0 - 65535字节 (0 ~ 64k)二进制形式的长文本数据Byte [ ]

3.日期类型

数据类型大小说明对于 Java 类型
DATETIME8 字节范围从1000到9999年,不会进行时区的检索及转换java.util.Date、java.sql.Timestamp
TIMESTAMP4 字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp

**常用的数据类型:**int,double,decimal,varchar,text

MySQL 中没有数组类型 !!!

表操作

表操作之前,必须先 use 数据库

1.创建表

create table [ 表名 ] (若干列);

举例:

语法格式:

create table 表名 (
字段名 类型,
字段名 类型
);

2.查看表结构

desc [ 表名 ];

可以把名字冲突的部分使用 反引号 引起来,就可以解决名字冲突的问题

3. 查看当前有哪些表

show tables;

4.删除表

drop table [ 表名 ];

删除表操作也非常危险,一旦删除,通过常规手段是无法恢复的!!

操作总结:

数据库操作

1.创建数据库:create database [ 数据库名 ];
2.指定数据库:use [ 数据库名 ];
3.查看数据库:show databases;
4.删除数据库:drop database [ 数据库名 ];

数据表操作

1.创建表:create table [ 表名 ] (若干列);
2.查看表结构:desc [ 表名 ];
3.查看当前有哪些表:show tables;
4.删除表:drop table [ 表名 ];

简单 MySQL 练习

有一个商店的数据,记录客户及购物情况,由以下三个表组成:

  • 商品 goods (商品编号 goods_id,商品名 goods_name,单价 unit_price,商品类别 category,供应商 provider)
  • 客户 customer (客户号 customer_id,姓名 name,住址 address,邮箱 email,性别 sex,身份证card_id)
  • 购买 purchase (购买订单号 order_id,客户号 customer_id,商品号 goods_id,购买数量 nums)

创建表 goods:

创建表 customer:

创建表 purchase:

相关文章