复习之SQL语句(三)——MySQL常用数据类型介绍和使用

CREATE DATABASE 语句 创建数据库

创建一个名为 “my_db” 的数据库:

CREATE DATABASE my_db;

CREATE TABLE 语句 创建数据库中的表

CREATE TABLE `table_user` (
  `userId` int(32) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) DEFAULT NULL COMMENT '用户名',
  `password` varchar(32) DEFAULT NULL COMMENT '密码',
  `summary` varchar(128) DEFAULT NULL COMMENT '简介',
  `age` int(2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;

MySQL中主要三种数据类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。

Text类型
在这里插入图片描述
Number 类型:
在这里插入图片描述
Date 类型:
在这里插入图片描述
上面是MySQL提供的,常用的就几个

varchar:

变长字符串,使用时我们必须设定其长度,最大值”理论值”65535个

  • 如果存储从中文gbk,则最多是65533/2个;
  • 如果存储中文utf-8,则最多存储65533/3个;
    此类型的实际长度是存储内容决定,而设定的值是最多可存储的字符个数。

tinyint

TINYINT 型的字段如果不设置UNSIGNED类型,存储**-128到127的整数**。
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节,一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。

decimal(dec)精确小数类型—精确数的存储

DEC(5,3)
  • M:精度,(整数位数+小数位数)不包含小数点的数字总位数(1–30),不指定默认为10
  • D:小数位数,如果不指定,默认为0

若位数不够,小数末尾补零;若位数超预算(整数位数=M-D),报错。

enum :

单选项字符串数据类型。它非常适用于存储表单界面中的”单选项值”,它设定的时候,需要给定”固定的几个选项” 存储的时候就只存储其中的一个值。
格式:

enum("选项1","选项2","选项3"……)

向表中插入数据(两种方式)
写值所对应的序列号(序列号1开始)

INSERT INTO table_user (enum_sex)VALUES(1);

直接写值

INSERT INTO table_user (enum_sex)VALUES('boy');

set :

格式:

set("选项1","选项2","选项3"……)

向表中插入数据(两种方式)
写值所对应的序列号和(序列号1,2,4,8,16,……最多64个)
1+2+4=7

INSERT INTO table_user (hobby)VALUES(7);

直接写值

INSERT INTO table_user (hobby)VALUES('football,tennis');

text :

“长文本”字符类型,通常,其存储的类型不占距表格中行的数据容量限制,其本身不占距表中一行的数据容量的限制,其本身最长可存储65535个字符。
blob一般存储图片,数据库中效率低,很少使用。

datetime(时间日期类型)

向表中插入数据

INSERT INTO table_user (createtime)VALUES('2018-10-4 16:41:34');

timesamp:

timestamp(时间戳类型):就是指一个时间的”数据值”–本质其实就是一个数字。它的一个重要作用:能够自动获得时间戳的数据值–相当于”now()”(注:这个字段通常不需要插入数据)

下面时间类型和datetime差不多,就格式改变。

date(日期类型)

'2017-4-13'

time(时间类型)

'16:41:34'

year(年份类型)

'2017'

特殊情况使用

sql中的[]括号作用
避免关键字引用,用于区分列名,表名与关键字。另外如果列名中有空格也是要用方括号的。

例如,a表中有个列名叫from,如果你直接写select from from a肯定报错,这时就要使用方括号了。select [from] from a就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值