mysql引擎模式_mysql引擎,完整的见表语句,数据库模式, 常用数据类型,约束条件...

引擎

show engines : 查看引擎

innodb(默认引擎):支持事务,行级锁,外键myisam:查询效率由于innodb,不需要支持事务,行级锁,外键,可以选用myisam来优化数据库

mysql> create table t1(id int)engine=innodb;

mysql> create table t2(id int)engine=myisam;

mysql> create table t3(id int)engine=blackhole;

mysql> create table t4(id int)engine=memory;

eg:

create table t1(name char,id int) engine=innodb

insert into t1 values(1)

一个完整的建表语句

create table 表名 (

字段名1 类型[(宽度)约束条件],

字段名2 类型[(宽度)约束条件],

字段名3 类型[(宽度)约束条件],

)engine=innodb charset="utf8";

#engine 指引擎,charset指字符编码集

数据库模式:

严格模式:超出范围报错      非严格模式:超出范围不报错

show variables like "%sql_mode%" 查看当前数据库模式,%代表模糊查找

setglobal sql_mode="strict_trans_tables"; 设置数据库模式

no_engine_substitution:非安全性,默认

strict_trans_tables:安全模式(严格模式)

mysql数据类型

规定数据存放的哪些数据

整形 浮点型 字符型 时间类型 枚举类型 集合类型

整形:(长度默认是11)

整形: 不同类型所占字节数不一样,决定所占空间及存放数据大小限制

tinyint:1字节-128 到 127smallint:2字节

mediumint:3字节

int:4字节

bigint:8字节

形式  tinyint    smallint   mediumint   int    bigint

字节  1(255)        2          3         4       8

宽度:

1.不能决定整形存放数据的宽度,超过宽度可以存放,最终由数据类型所占字节决定

2.如果没有超过宽度,且有zerofill限制,会用0填充前置位的不足为

3.没有必要规定整形的宽度,默认设置的宽度就为最大宽度

整形的限制:不是容量限制,而是显示宽度

create table t1(id int(5) zerofill)  当查看的数是小于长度5,用0补上

a8558c3c476c0eea3096640f2d1730a8.png

浮点型

float   double     decimal

字节  4       8     (自定义)

float:4字节 精度最低,最常用

double:8字节 精度高,占位多

decimal:自定义字节字符串存,全精度

float(M,D) M为总位数,D为小数位

根据总位数可以算出整数位的位数

float(6,3)

字符集

char:定长 一定按规定存放数据,以规定宽度读取数据

varchar:不定长 首先根据数据长度计算宽度,并在数据开始以数据头方式将宽度信息保存起来,计算耗时

宽度:

char(4):以四个字符长度存储,超出报错浪费空间,以空间换取时间效率,减少IO

varchar(4):数据长度决定字符长度,但也不能超出长度,节省空间

总结:数据长度相近的数据提倡用char来存取数据,数据需要高速存取,异空间换时间char(3)  在硬盘保存为3 字符长度

yxx exx lxx zxx char(3)

如果是char类型 ,数据不足,空格补全

smysql自动去除空格 select *from t1 where name='yh'

char 存取效率高/ 浪费存储空间

varchar 存取效率低于char/节省存储空间

字符串现出原形:

char_length(x) 字符的个数

我们可以设置sql模式 来让它现出原形

setglobal sql_mode = "PAD_CHAR_TO_FULL_LENGTH,STRICT_TRANS_TABLES"设置完成后重启msyql 再次查询长度

时间类型

year:年 yyyy(1901/2155)

date:年-月-日 yyyy-MM-dd

time:时分秒 HH:mm:ss

datetime:年月日时分秒 yyyy-MM-dd HH-mm-ss 可以为空,不依赖时区

timestamp:年月日时分秒 yyyy-MM-dd HH-mm-ss 不能为空,默认位当前时间,依赖时区

共同点: 时间存取通过字符串类型 都可以使用now()函数来插入当前时间

create table student(

id int primary key auto_increment,

name char(16),

born_year year,

birth date,

class_time time,

reg_time datetime

);

insert into student value(2,'zxx',2000,2018-11-11,now(),now());

枚举与集合

枚举 enum:单选

集合 set:多选

性别:单选

爱好:多选

create table t1 (

sex enum('male',"female","wasai") not null default "wasai"", #枚举

hobbies set("play","read","music") #集合

);

insert into t1(sex,hobbit) values("male","play,read");

约束条件

foreign ket:外键(联合索引)

主键: 表默认都有主键

primary key:主键(不为空,唯一性)

单例主键:

create table t1(id int primary key)

联合主键:

create table t1(ip char(16),port int,primary key(ip,port))

唯一性:

unique key: 唯一性约束,联合唯一

单列唯一(单个字段不能重复)

create table t1(id int unique)

联合唯一(指联合的字段不能同时重复)

create table t1(

ip char(16),

port int,

unique(ip,port)

)

自增:

auto_increment:自增,只能跟key字段连用

create table t1(id int primary key auto_increment )notnull:不能为空

default:默认值

unsigned : 无符号

zerofill : 0填充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

testng连接MySQL_Selenium+TestNG实战-8-连接数据库方法去验证文章是否发布

原标题:SeleniumTestNG实战-8-连接数据库方法去验证文章是否发布记得之前群里,有人说举例一下连接数据库在Selenium自动化测试中的应用。本篇刚好来举例一个,前面我们都是通过发布后文章的详情页的标题来判断文章是否已经发布成功&#xff0c…

武汉mysql ocp考点_MySQL OCP考试复习系列–开篇:了解MySQL考试

MySQL OCP考试复习系列–开篇:了解MySQL考试嗯,那个决定去考MySQL OCP了,事实上最近工作一直围绕着DB2,MySQL要去考的话需要好好的复习的啊。150分钟,100道多选,答对60道题可以通过,费用1077。L…

java文件服务器_JavaWeb项目架构之NFS文件服务器

NFS简介NFS(Network File System)即网络文件系统。主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录。主要用途:NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件。NFS存储服务无NFS文件共享存储…

table 样式详解

1.table 中css样式控制border 只能控制外边框&#xff0c;内边框需要写<table border"1"> 2.table 会自动撑大&#xff0c;即使td 设置了 width和height这与div 是不同的 3.只有一个table的时候 &#xff0c;高度自适应全屏 <style type"text/css"…

spring整合

spring整合hibernate&#xff0c;整合什么&#xff1f; 1. Spring 整合 Hibernate 整合什么 ?1). 有 IOC 容器来管理 Hibernate 的 SessionFactory 2). 让 Hibernate 使用上 Spring 的声明式事务2. 整合步骤:1). 加入 hibernate ①. jar 包 ②. 添加 hibernate 的配置文件: hi…

看看大货车到底有多少盲区,肯定用得到!救命的!

上路的司机都知道&#xff0c;一旦看到大货车就要离它远远的&#xff0c;因为大货车的盲区大。可是又有多少轿车司机懂得盲区在哪里呢?不仅是轿车司机&#xff0c;许多行人和非机动车辆对于大货车的盲区也是一知半解&#xff0c;常常有人因此丧命。 行人篇 先给大家看一张最直…

msgpack java lua_使用lua-cmsgpack序列化和反序列化lua对象

原文在简书首发&#xff1a;http://www.jianshu.com/p/badf412db4e7lua-cmsgpack是一个开源的MessagePack实现方式、纯C的库&#xff0c;没有任何其它依赖&#xff0c;编译后可以直接被lua调用&#xff0c;目前主要支持Lua5.1/5.2/5.3 版本。1、什么是MessagePack&#xff1f;-…

全国250米DEM数据

全国250米DEM数据 DEM是数字高程模型的英文简称(Digital Elevation Model)&#xff0c;是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征&#xff0c;因此通过DEM 可提取大量的地表形态信息&#xff0c;可用于绘制等高线、坡度图、…

redis集群连接 java_Redis分布式集群和直连的Java客户端调用方式详解

jedis是一个著名的key-value存储系统&#xff0c;而作为其官方推荐的java版客户端jedis也非常强大和稳定&#xff0c;支持事务、管道及有jedis自身实现的分布式。在这里对jedis关于事务、管道和分布式的调用方式做一个简单的介绍和对比&#xff1a;一、普通同步方式最简单和基础…

java爬虫新浪微博_java爬虫(爬新浪新闻) 如何从零开始

爬虫通常搜索引擎处理的对象是互联网网页。首先面临的问题是&#xff1a;如何能够设计出高效的下载系统&#xff0c;以将如此海量的网页数据传送到本地&#xff0c;在本地形成互联网网页的镜像备份。网络爬虫即起此作用&#xff0c;它是搜索引擎系统中很关键也很基础的构件。爬…

CodeVS 1068-乌龟棋

原题 题目描述 Description 小明过生日的时候&#xff0c;爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行N个格子&#xff0c;每个格子上一个分数&#xff08;非负整数&#xff09;。棋盘第1格是唯一 的起点&#xff0c;第N格是终点&#xff0c;游戏要求玩家控制一个乌龟棋…

乔布斯传

资料参考 http://www.ruanyifeng.com/blog/2013/03/apple_inc_and_division_of_labor.html 苹果公司与分工原理 1.乔布斯 "乔布斯买了一间不错的房子&#xff0c;但家里只有一幅帕黎思&#xff08;Maxfield Parrish&#xff09;的画作、一部百灵牌咖啡机和几把双人牌的刀子…

ie11浏览器可以下载java吗_解析:WindowsXP系统能否安装IE11浏览器

现在&#xff0c;IE浏览器可以称得上是市场占有率最高的一款网页浏览器。因为windowsxp是一款比较久的操作系统&#xff0c;所以很多用户都会疑惑在xp上是否能够安装最新版的ie11浏览器。下面&#xff0c;小编就给大家详细解答下该问题。很遗憾的告诉大家&#xff0c;Windows X…

java ajax传输图片_Java使用Ajax实现跨域上传图片功能

说明 &#xff1a;图片服务器是用Nginx搭建的&#xff0c;用的是PHP语言这个功能 需要 用到两个js文件&#xff1a;jquery.js和jQuery.form.jsfunction submitImgSize1Upload() {var postData function( form , callback){var form document.getElementById("upload-for…

Java并发——线程中断学习

1. 使用interrupt()中断线程当一个线程运行时&#xff0c;另一个线程可以调用对应的Thread对象的interrupt()方法来中断它&#xff0c;该方法只是在目标线程中设置一个标志&#xff0c;表示它已经被中断&#xff0c;并立即返回。这里需要注意的是&#xff0c;如果只是单纯的调用…

分布式服务框架原理(一)设计和实现

分布式服务框架设计 分布式服务框架一般可以分为以下几个部分&#xff0c; &#xff08;1&#xff09;RPC基础层&#xff1a; 包括底层通信框架&#xff0c;如NIO框架、通信协议&#xff0c;序列化和反序列化协议&#xff0c;以及在这几部分上的封装&#xff0c;屏蔽底层通信细…

saltstack之混合匹配

需要-C参数: salt -C ## 使用grains属性来匹配 [roothadoop0 pillar]# salt -C Gos:Ubuntu test.ping uadoop1:True ## 使用Minion ID的正则表达式来匹配 [roothadoop0 pillar]# salt -C Euadoop\d test.ping uadoop2:True uadoop3:True uadoop1:True ## 使用gr…

java自定义 filter,HBase自定义Filter

必需要提前说明下&#xff1a;不建议使用自定义的Filter。所有的Filter都是在服务端生效&#xff1a;就是说需要将自定义的Filter封装为jar&#xff0c;上传到HBase的类路径下&#xff0c;并重启HBase使之生效。对于生产环境的HBase来说&#xff0c;重启通常是不能接受的。Filt…

Mybatis学习总结(二)——Mapper代理开发

一、概要 1、原始DAO开发中存在的问题:&#xff08;1&#xff09;DAO实现方法体中存在很多过程性代码。&#xff08;2&#xff09;调用SqlSession的方法(select/insert/update)需要指定Statement的id&#xff0c;存在硬编码&#xff0c;不利于代码维护。 2、Mapper动态代理方法…

mac wordpress php7,Mac 下基于 wordpress 搭建个人博客系统

一、前言这里说的是自己从 wordpress 源码开始搭建一个个人博客系统。当然&#xff0c;很多云端已经直接提供了在线安装的方式&#xff0c;这个就不在本文的讨论范围之内了。二、关于 wordpresswordpress是一款个人博客系统&#xff0c;并逐步演化成一款内容管理系统软件&#…