文档章节

二、数据类型和列属性

swift_hua
 swift_hua
发布于 2017/08/03 15:41
字数 998
阅读 3
收藏 0

-- 创建整型表

·          create table my_int(

·          int_1 tinyint,

·          int_2 smallint,

·          int_3 int,

·          int_4 bigint

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_int values(100,100,100,100); -- 有效数据

·           

·          insert into my_int values('a','b','199','f');   -- 无效数据: 类型限定

·           

·          insert into my_int values(255,10000,100000,1000000);   -- 错误: 超出范围

·           

·          -- 给表增加一个无符号类型

·          alter table my_int add int_5 tinyint unsigned; -- 无符号类型

·           

·          -- 插入数据

·          insert into my_int values(127,1000,10000,1000000,255);

·           

·           

·          alter table my_int add int_6 tinyint(1) unsigned;-- 指定显示宽度为1;

·           

·          insert into my_int values(127,0,0,0,255,255);

·           

·          alter table my_int add int_7 tinyint(2) zerofill; -- 显示宽度为2,0填充

·           

·          insert into my_int values(1,1,1,1,1,1,1);

·          insert into my_int values(100,100,100,100,100,100,100);

·           

·           

-- 浮点数表

·          create table my_float(

·          f1 float,

·          f2 float(10,2),   -- 10位在精度范围之外

·          f3 float(6,2)  -- 6位在精度范围之内

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_float values(1000.10,1000.10,1000.10); -- 符合条件

·          insert into my_float values(1234567890,12345678.90,1234.56); -- 符合条件

·          insert into my_float values(3e38,3.01e7,1234.56);

·          insert into my_float values(9999999999,99999999.99,9999.99); -- 最大值

·           

·          -- 超出长度插入数据

·          insert into my_float values(123456,1234.123456768,123.9876543);    -- 小数部分OK

·          insert into my_float values(123456,1234.12,12345.56);   -- 整数部分超出

·           

·              

·           

-- 创建定点数表

·          create table my_decimal(

·          f1 float(10,2),

·          d1 decimal(10,2)

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_decimal values(12345678.90,12345678.90); -- 有效数据

·          insert into my_decimal values(1234.123456,1234.1234356); -- 小数部分超出:ok

·           

·          insert into my_decimal values(99999999.99,99999999.99); -- 没有问题

·          insert into my_decimal values(99999999.99,99999999.999); -- 进位超出范围

·           

·           

-- 创建时间日期表

·          create table my_date(

·          d1 datetime,

·          d2 date,

·          d3 time,

·          d4 timestamp,

·          d5 year

·          )charset utf8;

·           

·           

·          -- 插入数据

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',2015);

·           

·          -- 时间使用负数

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','-11:50:54','2015-9-28 11:51:08',2015);

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','-211:50:54','2015-9-28 11:51:08',2015);

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','-2 11:50:54','2015-9-28 11:51:08',2015); -- -2过去2天:48

·           

·          -- year可以使用2位或者4位

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',69);

·          insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',70);

·           

·          -- timestamp: 修改记录

·          update my_date set d1 = '2015-9-28 11:55:45' where d5 = 2069;

·           

·           

·           

-- 创建枚举表

·          create table my_enum(

·          gender enum('男','女','保密')

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_enum values('男'),('保密'); -- 有效数据

·           

·          -- 错误数据

·          insert into my_enum values('male');    -- 错误: 没有该元素

·           

·          -- 将字段结果取出来进行+0运算

·          select gender + 0, gender from my_enum;

·           

·          -- 数值插入枚举元素

·          insert into my_enum values(1),(2);

·           

·           

-- 创建集合表

·          create table my_set(

·          hobby set('篮球','足球','乒乓球','羽毛球','排球','台球','网球','棒球')

·          --          足球                      台球    网球

·          -- 集合中: 每一个元素都是对应一个二进制位,被选中为1,没有则为0: 最后反过来

·          --          0      1       0         0      0       1       1     0

·          -- 反过来    01100010 = 98

·           

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_set values('足球,台球,网球');

·          insert into my_set values(3);

·           

·          -- 查看集合数据

·          select hobby + 0, hobby from my_set;

·           

·          -- 98转成二进制 = 64 + 32 + 2 = 01100010

·           

·          -- 颠倒元素出现的顺序

·          insert into my_set values('网球,台球,足球');

·           

·          -- 求出varchar在utf8和GBK下的实际最大值

·          create table my_utf8(

·          name varchar(21844) -- 21844 * 3 + 2 = 65532 + 2 = 65534

·          )charset utf8;

·           

·          create table my_gbk(

·          name varchar(32766) -- 32766 * 2 + 2 = 65532 + 2 = 65534

·          )charset gbk;

·           

·          create table my_utf81(

·          age tinyint,      -- 1

·          name varchar(21844) -- 21844 * 3 + 2 = 65532 + 2 = 65534

·          )charset utf8;

·           

·          create table my_gbk1(

·          age tinyint,      -- 1 

·          name varchar(32766) -- 32766 * 2 + 2 = 65532 + 2 = 65534

·          )charset gbk;

·           

-- 释放NULL

·          create table my_utf82(

·          age tinyint not null,     -- 1

·          name varchar(21844) not null -- 21844 * 3 + 2 = 65532 + 2 = 65534

·          )charset utf8;

 

·          create table my_gbk2(

·          age tinyint not null,     -- 1 

·          name varchar(32766) not null -- 32766 * 2 + 2 = 65532 + 2 = 65534

·          )charset gbk;

·           

·           

·          -- text占用十个字节长度

·          create table my_text(

·          name varchar(21841) not null, -- 21841 * 3 + 2 = 65523 + 2 = 65525

·          content text not null          -- 10      

·          )charset utf8;

·           

·          -- 创建班级表

·          create table my_class(

·          name varchar(20) not null,

·          room varchar(20) null -- 代表允许为空: 不写默认就是允许为空

·          )charset utf8;

·           

·          -- 创建表

·          create table my_teacher(

·          name varchar(20) not null comment '姓名',

·          money decimal(10,2) not null comment '工资'

·          )charset utf8;

·           

·           

·          -- 默认值

·          create table my_default(

·          name varchar(20) not null,

·          age tinyint unsigned default 0,

·          gender enum('男','女','保密') default '男'

·          )charset utf8;

·           

·          -- 插入数据

·          insert into my_default (name) values('高强');

·           insert into my_default values('范立峰',18,default);

© 著作权归作者所有

共有 人打赏支持
swift_hua
粉丝 1
博文 33
码字总数 20868
作品 0
成都
程序员
私信 提问
跟王老师学MySQL:MySQL数据类型之整数类型

跟王老师学MySQL:MySQL数据类型之整数类型 主讲教师:王少华 QQ群号:483773664 MySQL的数据类型包括整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制数据类型。 学习...

imentors
2016/07/04
0
0
EXTJS表格列xtype详解

概述:列类型,就是在grid组件创建的时候,指定的列xtype,我们可以将数据更好的展示和列的功能按钮扩展等。 以雨泽漫画的后台为例,需要在列末尾增加几个按钮,“完结状态“、“推荐”、”编...

微尘鉴
2016/01/07
835
0
sql 笔记 表操作 索引操作

一、创建表 CREATE TABLE IF NOT EXISTS Student( id Int(10) PRIMARY KEY AUTO_INCREMENT,//自增id作为主键 name Char (20) Not null,//不允许为空 sex char(2) Default ("男"),//初值为男 ......

Carbenson
11/20
0
0
MySQL——MySQL的数据类型

一、MySQL数据库支持以下几种数据类型 整数(xxxINT) 定点数(DECIMAL) 日期与时间(DATE、TIME、DATETIME、TIMESTAMP) 字符串(CHAR、VARCHAR、xxxTEXT) 二、整数(xxxINT) 默认情况下...

Gong_Chen
2016/04/27
104
0
数据挖掘之 Kaggle 练习项目快速入门(一)

(一)关于Kaggle 作为小白只能这样子解释Kaggle了,不敢高声语。 (二)电影数据分析 (一)电影数据下载: tmdb5000_movies 这里我们要下载两个文件: -(二)kaggle的注册: 可能一开始你...

徐代龙
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 MySQL 的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过 MySQL 的二...

吴伟祥
11分钟前
0
0
org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may

org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may 2017年07月21日 14:52:10 子木HAPPY阳VIP 阅读数:14134 标签: tomcatnginx 更多......

linjin200
12分钟前
0
0
线下工坊|Blockchain Coding Day:零基础教你开发DAPP(北京)

我们的目标是通过编程学习让你更了解区块链技术。这将对区块链开发初学者一次很好的体验。这里需要强调一下,编程零基础也能学会。 我们将以小组的形式,由教练带领学员完成DAPP开发。每位学...

HiBlock
49分钟前
2
0
查看内存情况

jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。...

Canaan_
50分钟前
2
0
基于对象特征的推荐

(本实验选用数据为真实电商脱敏数据,仅用于学习,请勿商用) 在上一期基于协同过滤的的推荐场景中,我们介绍了如何通过PAI快速搭建一个基于协同过滤方案的推荐系统,这一节会介绍一些如何基...

阿里云官方博客
58分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部