最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL学习笔记_2_SQL数据模型和数据类型_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 18:51:48
文档

MySQL学习笔记_2_SQL数据模型和数据类型_MySQL

MySQL学习笔记_2_SQL数据模型和数据类型_MySQL:bitsCN.com MySQL创建数据表(上)一、创建数据表的SQL语句模型【弱类型】CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列的类型 [属性][索引],字段名2 列的类型 [属性][索引],…字段名n 列的类型 [属性][索引],)[表属性][表字符集]
推荐度:
导读MySQL学习笔记_2_SQL数据模型和数据类型_MySQL:bitsCN.com MySQL创建数据表(上)一、创建数据表的SQL语句模型【弱类型】CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列的类型 [属性][索引],字段名2 列的类型 [属性][索引],…字段名n 列的类型 [属性][索引],)[表属性][表字符集]

bitsCN.com

MySQL创建数据表(上)

一、创建数据表的SQL语句模型【弱类型】

CREATE TABLE [IF NOT EXISTS] 表名称(

字段名1 列的类型 [属性][索引],

字段名2 列的类型 [属性][索引],

字段名n 列的类型 [属性][索引],

)[表属性][表字符集];

【表名称,字段名需要自己来命名】

【SQL语句并不区分大小写,但是一个文件名:在Windows下不区分大小写,但是在 Linux/UNIX下是区分大小写的】

【命名规则: 1、有意义(英文,英文组合或英文缩写)

2、自己定的名称最好小写。

3、SQL语句最好大写。】

1、 CREATE TABLE users(

id INT,

name CHAR(32)

);

2、 SHOW TABLES;

3、 DESC users;

4、 SELECT * FROM users;

二、数据值与列类型

都以空间大小来细分,能够存下即可!

1、数值型

整型(整数):

非常小整数型 1字节 -128~127 0~255(无符号) TINYINIT

较小整数型 2字节 -32768~32767 SMALLINIT

中等大小整数型 3字节 0~16777215 MEDIUMIINT

标准整数型 4字节 -2147483648~2147483647 INT

大整数型 8字节 BIGINT

【可以添加属性:UNSIGNED】

浮点型(小数):

FLOAT(M,N) 4字节 【长度M,保留小数点后N位】

DOUBLE(M,N) 8字节

DECIMAL(M,N) M+2字节 【定点数,以字符串形式存储数据, 更精确的保存数据,但是效率会有所折扣。】

【浮点数会存在误差,因此在对数字敏感的时候,需要用定点数来存储!】

2、字符型

MySQL支持以单引号与双引号表示字符串类型。

如 “MySQL” 与 'MySQL' 相同

char(M) 最大255 固定长度字符串

varchar(M) 最大255 可变长度字符串

char(4) varchar(4) // 永远比字符多一个字节

'' 4 '' 1字节

'a' 4 'a' 2字节

'abcd' 4 'abcd' 5字节

'abcdefg' 4 'abcdefgh' 5字节

char 类型会截取尾部的空格;

示例: CREATE TABLE IF NOT EXISTS tab(v varchar(4),c char(4));

INSERT INTO tab(v,c) VALUES(“ab ”,”ab ”);

SELECT CONCAT(v,”#”),CONCAT(c,”#”) FROM tab;

最佳实践:

固定长度,推荐使用char类型(可能会浪费一定空间)。

可变长度,推荐使用varchar类型(可能会付出一些性能损耗)

text 文本数据:文章,日志 长度:2^16 -1

MEDIUMTEXT

LONGTEXT

blob 二进制数据:照片,电影 长度:2^16 -1

MEDIUMBLOB

LONGBLOB

【虽然没法通过SQL语句将照片,电影,压缩包等二进制文件插入到数据库中, 但是我们可以通过C++/Java等编程语言将二进制文件读成二进制数据流,然 后保存到数据库中】

ENUM 枚举 1~2字节

ENUM(“one”,”two”,”three”,”four”)~65535

一次只能有一个值

SET 集合 1,2,3,4,8字节

SET(“one”,”two”,”three”,”four”)~64

一次可以有多个值,用“,”隔开。

3、日期型

DATE YYYY-MM-DD //如果位数充足,可以不用加‘-’

TIME hh:mm:ss //位数充足,可以忽略‘:’,位数不足,从后面截取

DATETIME YYYY-MM-DD hh:mm:ss

TIMESTAMP YYYYMMDDhhmmss //位数不足时,不可忽略前导0

YEAR YYYY

【创建数据表时,最好不要使用这些时间值,最好使用C++/Java等编程语言中的整数来保存 时间,这样更方便计算,如C++中的int,PHP中时间戳 1970-1-1 0:0:0】

bitsCN.com

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL学习笔记_2_SQL数据模型和数据类型_MySQL

MySQL学习笔记_2_SQL数据模型和数据类型_MySQL:bitsCN.com MySQL创建数据表(上)一、创建数据表的SQL语句模型【弱类型】CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列的类型 [属性][索引],字段名2 列的类型 [属性][索引],…字段名n 列的类型 [属性][索引],)[表属性][表字符集]
推荐度:
标签: 数据 类型 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top