MySQL数据类型和操作数据表

版权声明:本文由YSilhouette原创,转载请务必标出原文地址 https://blog.csdn.net/qq_16123129/article/details/87969704

MySQL数据类型

  • 整型
TINYINT   	1字节
	有符号值	-128到127 (- 2^7 到 2^7-1)
	无符号值	0 到 255  (0 到 2^8-1)
SMALLINT		2字节
	有符号值	-3278 到 32767	(- 2^15 到 2^15-1)
	无符号值	0 到 65535		(0 到 2^16-1)
MEDIUMINT		3字节
	有符号值	-8388608 到 8388607	(- 2^23 到 2^23-1)
	无符号值	0 到 16777215		(0 到 2^24-1)	
INT			4字节
	有符号值			(- 2^31 到 2^31-1)	
	无符号值			(0 到 2^32-1)
BIGINT		8字节
	有符号值			(- 2^63 到 2^63-1)
	无符号值			(0 到 2^64-1)
	
	1个字节 = 8 bit ,(8位)
  • 浮点类型
FLOAT[(M,D)]
	M,是数字总位数,
	D,是小数点后面的位数,
	如果M,D被省略,根据硬件允许的限制来保存值,
	单精度浮点数精确到大约7位小数位,

DOUBLE[(M,D)]
  • 日期时间型
类型			存储需求
YEAR			1
TIME			3
DATE			3
DATETIME		8
TIMESTAMP		4
  • 字符型
列类型							存储需求					
CHAR(M)		 定长类型		M个字节,0<= M <=255	
VARCHAR(M)	 变长类型		L+1个字节,L<=M且0<= M <=65535
TINYTEXT				   L+1个字节, L< 2^8
TEXT					    L+1个字节, L< 2^16
MEDIUMTEXT					L+1个字节, L< 2^24
LONGTEXT					L+1个字节, L< 2^32
ENUM('VALUE1','VALUE2',...)	1或2个字节,取决于枚举值的个数,最多65535个值
SET('VALUE1','VALUE2'...)	1、2、3、4或者8个字节,取决于set集合成员的排列组合	

MySQL数据表

  • 创建数据表
- 打开数据库
mysql -u root -p;

- USE 数据库名称; 
USE test01;
	
- 创建数据表
CREATE TABLE [IF NOT EXISTS] table_name (
    column_name1 data_type,
    column_name2 data_type,
	...
);

  • 查看数据表
- 查看数据表列表
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];

- 查看数据表结构
SHOW COLUMNS FROM tbl_name;

- 插入记录
INSERT [INTO] tbl_name [(col_name,...)] VALUES (val,...);

- 记录查找
SELECT expr,... FROM tbl_name;
  • 空值与非空
- NULL ,字段值可以为空
- NOT NULL ,字段值禁止为空
  • 约束的使用
NOT NULL
- 非空约束

AUTO_INCREMENT
- 自动编号 
- 且必须与主键组合使用
- 默认情况下,起始值为1,每次增量为1

 PRIMARY KEY
- 主键 约束
- 每张数据表只能存在一个主键
- 主键保证记录的唯一性
- 主键自动为 NOT NULL

UNIQUE KEY
- 唯一约束
- 唯一约束可以保证记录的唯一性
- 唯一约束的字段端可以为空值(NULL)
- 每张数据表可以存在多个唯一约束

DEFAULT
- 默认约束

FOREIGN KEY
- 外键约束

猜你喜欢

转载自blog.csdn.net/qq_16123129/article/details/87969704