Mysql 简介二
Mysql 数据库引擎:
数据库引擎是用于存储、处理和保护数据的核心服务
Mysql支持的引擎一般有这几种:
MyISAM Mysql 5.1版本之前默认的存储引擎,仅仅支持表锁,但查询速度较InnoDB更快
CSV 早期数据的一种excel表格存储形式
MEMORY 数据只在存储于系统内存中,并未写入硬盘,断电数据即丢失
InnoDB 5.5以上版本的Mysql默认的存储引擎,支持行锁及表锁外键,事物,安全性更高
查看当前Mysql支持的引擎 使用语句 show engines; 即查看当前Mysql所支持的引擎列表。
可通过语句查看不同存储引擎存储表结构文件特点:
例:
create table test1(id int)engine=innodb;
Mysql的数据类型:
微 小 中 大
tinyint smallint meduium int bigint
所占字节大小 1 2 3 4 8
insert into test1 value(255); 最后显示为127 为有符号的
无符号: create table test2(id tinyint unsigned);
insert into test3 value(); 超出范围尽可能保存更多的值,负数保存为0
在无符号下保存最多256 其实存的是255
如果值超出范围就报错,默认为严格模式。
set global sql_mode='STRICT_TRANS_TABLES'; 永久更改严格模式,
set session sql_mode='STRICT_TRANS_TABLES'; 临时更改为严格模式
对于字符而言约束是字符串的长度
对于整型而言约束是数字显示长度,如果数据超过显示宽度,可使用0补全 zerofill
约束条件:约束条件是在类型之外添加一种额外的限制
float float(m,d) m表示浮点数整体长度,d表示小数的长度 例: float(5,3) 99.999
double float 与double 最大长度都是255,小数位最大长度都是30
decimal 整体长度最大为65,准确,不会丢失精度
精度区别: 精度最高 decimal----->double------>float 精度最底
存储限制
float(255,30) 最大255位,小数30位
double(255,30) 最大255位,小数30位
decimal(255,30) 最大255位,小数30位
create table t9(x float(255,30)); 最大255位,小数30位
create table t10(x double(255,30)); 最大255位,小数30位
create table t11(x decimal(65,30)); 最大65位,小数30位
char() 定长字符 类型的长度固定,实际字符长度小于标的长度时,会以空格补齐并进行存储。
varchar() 变长字符 类型的长度可以变化,以实际字符的长度进行存储
char_lenth(name) 查询字符长度
select char_length(a),char_length(b) from t10; 查看表中a与b的字符长度
设置格式显示字符全部长度:
set global sql_mode='PAD_CHAR_TO_FULL_LENGTH,STRICT_TRANS_TABLES';
运行命令---> 退出重新进入mysql
mysql存储时会自动加上空格,但默认输出时不显示空格,只有加上上面的语句才显示
当执行 select * from test where name='aib' mysql会自动将参数末尾的空格去除
char与varchar区别: 二者最大可存在65535字节
char 存取效率高 浪费存储空间
varchar 存取效率底,节省存储空间
字符文本类型:
TEXT系列 TINYTEXT MEDIUMTEXT LONGTEXT
BLOB系列 TINYBLOB BLOB MEDIUMBLOB LONGBLOB
Binary系列 Binary VARBINARY
text 数据类型用于保存变长的大字符串,
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
注意事项:
1. 在同一张表中,字段名不能相同
2. 宽度和约束条件可选,字段名和类型是必须的
3. 最后一个字段后不能加逗号!
PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK) 标识该字段为该表的外键 设置表与表之间关联时使用
NOT NULL 标识该字段不能为空
UNIQUE KEY (UK) 标识该字段的值是唯一的 表内其它字段不能出现相同类型的值
AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键)一般与PRIMARY KEY搭配使用 用来标识使用ID等。
DEFAULT 为该字段设置默认值
UNSIGNED 无符号
ZEROFILL 使用0填充
create table test1(id int(4) unique,name char(32) unique); 一语句中多个字段有唯一性约束
create table test1(id int(4),name char(32),unique(id,name)); 联合约束
只有当括号内的字段都相同时才会判定相同,并报错,
多列联合主键:
create table test1(id int,name char(32),primary key(id,name)); 将id与name全部设置为主键
同一表中可以有多个主键,但没有意义。
添加一条自动记数加1。
如需修改则为:
alter table auto_increment=数字; 设置表中的数据从写入的数字开始加1.
强调:上面的这条命令确实可以将表里的所有记录都删掉,但不会将id重置为0,
所以此该条命令根本不是用来清空表的,delete是用来删除表中某一些符合条件的记录
delete from tb1 where id > 10;
2,效率底下
3,扩展性差
id int primary key auto_increment, 定义作者id 类型为主键,并自带数值增加效果
name char(20) not null, 定义作者的姓名字段,且规定不能为空
phone char(16) not null 定义作者的电话字段,限制此字段不能为空
);
id int primary key auto_increment, 定义表的字段id 为主键
author_id int unique, 设置一个作者字段,且此字段一定要是唯一的
foreign key(author_id) references author(id) 使用外键将唯一的字段与作者的ID相关联
on delete cascade 同样设置级联功能。
on update cascade
);
Mysql 简介二的更多相关文章
- mysql基础篇-----mysql简介
2017-04-19 一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 ...
- MySQL(一)之MySQL简介与安装
大家可能都在用MySQL,其实我也是在用MySQL的,但是你知道吗?大部分人都是在windows中使用,这里将介绍一下在windows中的安装分为安装包安装与MSI包安装,以及在linux中的在线安装 ...
- MySQL简介及安装
一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...
- 6.MySQL简介
MySQL简介 ·点击查看MySQL官方网站 ·MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于facle旗下 ...
- 【python】-- MySQL简介、安装、操作
MySQL简介.安装.操作 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储 ...
- 32、MySQL简介
一.MySQL简介 1.数据库管理软件分类 主要分为关系型和非关系型. 可以简单的理解为,关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构. 关系型:如sqllite,d ...
- MySQL高级学习笔记(一):mysql简介、mysq linux版的安装(mysql 5.5)
文章目录 MySQL简介 概述 mysql高手是怎样炼成的 mysq linux版的安装(mysql 5.5) 下载地址 拷贝&解压缩 检查工作 检查当前系统是否安装过mysql 检查/tmp ...
- 数据库简介与MySQL简介
MySQL简介 数据存取演变史 起源······文本文件 在最开始使用计算机都没有相应的规范我们的数据一般都是自己起一个名字然后就根据这个路径存储数据并且存储数据的格式也都五花八门就产生了很多奇奇怪怪 ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
随机推荐
- CCNP路由实验之十 组播(多播)
CCNP路由实验之十 组播(多播) 种方法: 在交换机上配置静态的多播MAC地址到用户接口的映射 使用CGMP.执行CGMP的多播路由器能够将用户发送给自己 ...
- 快速select算法的实现
代码来自: http://blog.csdn.net/v_JULY_v 算法思想: // Quick_select.cpp : 定义控制台应用程序的入口点. // #include "std ...
- jquery easyui 输入框 禁止输入负数 设置属性data-options="min:0,required:true"
jquery easyui 输入框 禁止输入负数 设置属性data-options="min:0,required:true" <input id="days& ...
- js实现日期转换方法
//方法1function timeStamp1String(time) { var datetime = new Date(); datetime.setTime(time); var year = ...
- Alternating Sum
http://codeforces.com/problemset/problem/963/A 不考虑正负的话,每两项之间之间公比为b/a,考虑正负,则把k段作为循环节,循环节育循环节之间公比为(b/a ...
- 如何在Centos官网下载所需版本的Centos——靠谱的Centos下载教程
很多小伙伴不知道对应版本的Centos怎么下载,最近小编整理了一份Centos详细的下载教程,希望小伙伴们不在为下不到对应版本的Centos而苦恼. 1.进入Centos官网:https://www. ...
- struts.xml配置action没用,任意href自动跳到主页,在action中print没用?????
今晚弄了好久都搞不清楚,晕死我了. 上网找也没找到解决办法. 然后看了Build Path.好吧,有几个没用的jar包,remove之.我去,马上正常了,具体原因未知. 总结:删除jar包不代表Bui ...
- C# 操作Excel常见错误
1.未在本地注册 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + &qu ...
- Jetty 类载入问题处理
前几日使用 Jetty (9.2)部署公司一个 web 项目,这个项目原本部署在 Tomcat server上,一切正常,可是部署到 Jetty 后,启动报错.关键错误信息为"java.la ...
- Java 实现策略(Strategy)模式
策略模式:行为型模式 将同一行为,不同的处理算法分别封装起来.让它们之间能够互相替换 1. 定义一个超类型接口,及 行为方法 2. 定义不同的实现类,实现该行为的 不同的算法 /** * 策略模式:针 ...