文档章节

二、数据类型和列属性

swift_hua
 swift_hua
发布于 2017/08/03 15:41
字数 998
阅读 1
收藏 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
粉丝 0
博文 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
MySQL——MySQL的数据类型

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

Gong_Chen
2016/04/27
104
0
PHP框架queryphp教程:入门二 ORM

在上一章,我们介绍了queryphp框架的hello world,并对queryphp框架有了大致的了解。这一章,我们将解释ORM。对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关...

justjavac
2012/12/11
319
1
数据挖掘之 Kaggle 练习项目快速入门(一)

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

徐代龙
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
38分钟前
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
3
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
3
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
23
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部