实验一:整数

-- 测试一
create database test;-- 新建数据库,如果已经有了就不需要再创建了
USE test;-- 打开数据库
drop table if exists test1;-- 如果存在表test1则删除
create table TEST1(-- 新建表test1
a INT-- 表test1只有一个a列
);
insert into test1 values(123456);-- 向表test1中插入元素
select * from test1;-- 查询表中全部内容

注: -- 行注释减减加空格表示行注释

-- 测试二
drop table if exists test2;
create table TEST2(
a INT(11)
);
insert into test2 values(123456);
select * from test2;
-- 测试三
USE test;
drop table if exists test3;
create table TEST3(
a INT(11) zerofill
);
insert into test3 values(123456);
select * from test3;

INT后面括号的数表示显示宽度,不是占多少字节;

zerofill填充0,在Navicat中显示不出零,在控制台能正常显示并看到填充的0

2.实验二:实数

use test;
drop table if exists test4;
CREATE TABLE test4(
c1 float(10,2),-- 长度是10小数占两位小数点不占位
c2 decimal(10,2)
); insert into test4 VALUES
(131072.32,131072.32);
insert into test4 VALUES
(131072.5678,131072.1234); select * from test4;

decimal比较精确,当涉及到钱的时候通常用这种类型

3.时间和时间戳

use test;

drop table if exists test5;
CREATE TABLE test5(
c1 datetime,
c2 timestamp,
c3 char(10)
); insert into test5 VALUES (now(),CURRENT_TIMESTAMP,'布朗');
-- now()计算机系统的当前时间
-- current_timestamp当前时间戳
insert into test5 VALUES ('1998-10-05 10:15:25',CURRENT_TIMESTAMP,'小布朗'); update test5 set c3='马丁·路德'where c3 = '小布朗';-- 修改命令 select * from test5;

若定义一个字段为timestamp类型,这个字段的时间数据会随着其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间

4.字符串类型

-- 字符串类型测试一
use test; drop table if exists test6;
CREATE TABLE test6(
c1 char(4),
c2 varchar(4)
)ENGINE=myisam;
-- ENGINE=myisam存储引擎 insert into test6 VALUES ('','');
insert into test6 VALUES ('ab','ab');
insert into test6 VALUES ('abcd','abcd'); select * from test6;
-- 字符串类型测试二
use test; drop table if exists test7;
CREATE TABLE test7(
v VARCHAR(4),
c CHAR(6)
); insert into test7 VALUES ('ab ','ab '); select CONCAT(v,'+'),CONCAT(c,'+') from test7;
-- concat(,)字符串连接函数

5.复合类型

enum多选一

set多选

-- 自增长列
drop table if exists test9;
CREATE TABLE test9(
c1 int(11) AUTO_INCREMENT PRIMARY KEY,
c2 char(10)
)ENGINE = myisam,charset=gbk,AUTO_INCREMENT=10000;
insert into test9 value(null,'A');
select * from test9;

代理键

自然键

-- 布尔型
drop table if exists test10;
CREATE TABLE test10(
c1 bool,#实际等同于tinyint(1)
c2 char(10)
)ENGINE = myisam,charset=gbk;
insert into test10 value(1,'A');
select * from test10 where c1 = true;
use test;
-- 存储文件的目录?转义字符
drop table if exists test11;
CREATE TABLE test11(path VARCHAR (99));
insert into test11 values('C:\\Program Files\\MySQL Server');
select * from test11;

MySQL各种类型实验的更多相关文章

  1. MYSQL索引类型。MYSQLc储存引擎

                                                            MYSQL索引类型,MYSQLc储存引擎 MySQL索引创建与删除 MySQL存储引擎的 ...

  2. MySQL索引类型总结和使用技巧以及注意事项

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable ...

  3. 详解mysql int类型的长度值问题【转】

    mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允 ...

  4. MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题

    MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...

  5. MySQL服务 - MySQL列类型、SQL模式、数据字典

    MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长). ...

  6. MySQL服务 - MySQL变量类型及变量设置

    一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...

  7. MySQL表类型和存储引擎版本不一致解决方法

    使用的是老版本的mysql客户端Navicate 8 ,mysql 服务端用的是mysql5.6的版本,在修改版本引擎的时候出现版本不对; mysql error ‘TYPE=MyISAM’ 解决办法 ...

  8. mysql 日期类型比较

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ------ ...

  9. MySQL日期数据类型、MySQL时间类型使用总结

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

随机推荐

  1. nrm 工具的使用

    一.什么是nrm? 这是官方的原话: 开发的npm registry 管理工具 nrm, 能够查看和切换当前使用的registry, 最近NPM经常 down 掉, 这个还是很有用的哈哈 顾名思义,就 ...

  2. Hive性能优化【严格模式、join优化、Map-Side聚合、JVM重用】

    一.严格模式 通过设置以下参数开启严格模式: >set hive.mapred.mode=strict;[默认为nonstrict非严格模式] 查询限制: 1.对于分区表,必须添加where查询 ...

  3. HDFS之安全模式

    1.namenode启动的时候,首先将映像文件[fsimage]载入内存,并执行编辑日志[edits]中的各项操作. 2.一旦在内存中成功建立文件系统元数据的映射,则创建一个新的fsimage文件[这 ...

  4. H3C 40MHz频宽模式

  5. angularcli 第五篇(输入框、表单处理)

    本文参考:Angular4 表单快速入门 注:涉及input表单时要在AppComponent中引入 FormsModule模块:     import{ FormsModule } from '@a ...

  6. docker容器监控:cadvisor+influxdb+grafana

    cadvisor+influxdb+grafana可以实现容器信息获取.存储.显示等容器监控功能,是目前流行的docker监控开源方案. 方案介绍 cadvisor Google开源的用于监控基础设施 ...

  7. Seata 动态配置订阅与降级实现原理

    Seata 的动态降级需要结合配置中心的动态配置订阅功能.动态配置订阅,即通过配置中心监听订阅,根据需要读取已更新的缓存值,ZK.Apollo.Nacos 等第三方配置中心都有现成的监听器可实现动态刷 ...

  8. linux下给U盘分区&制作文件系统

    这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的King ...

  9. ArcGIS pro 发布地图服务(一)动态地图服务

    1.软件:arcgis pro 2.4  数据:.mxd文档. 2.导入mxd文档. 3.登录portal账号 4.分析—发布 5.在server中的地图服务 JavaScript api 查看 6. ...

  10. 如何为SUSE配置IP地址,网关和DNS

    方法一.在命令行中配置.输入: ifconfig eht0 9.111.66.96 netmask 255.255.255.0 up route add default gw 9.111.66.1 方 ...