MySQL学习简明文档
来源:互联网 发布:nginx缓存tomcat 编辑:程序博客网 时间:2024/05/17 07:01
MySQL学习简明文档
1.操作命令
查看当前MySQL中有哪几个数据库:show databases;
创建一个数据库:create database dbName;
如果防止数据库重名:create database if existsdbName;
删除一个数据库:drop database dbName;
如果防止删除不存在的数据库:drop database ifexists dbName;
进入一个数据库:use dbName;
查看当前这个数据库中有哪几个表:show tables;
查看某一个表的表结构:desc tablename;
2. 数据类型:
(1)数值型:
A. 整形:
类型
大小
范围(有符号)
范围(无符号)
tinyInt
1个字节
-28---28-1
0----28
smallInt
2个字节
-216---216-1
0----216
mediumInt
3个字节
-224----224-1
0----224
int
4个字节
-232-----232-1
0----232
bigInt
8个字节
-264-----264-1
0-----264
在MySQL中整形类型后可以跟一个整数,这个整数时显示宽度指示器,当从数据库中检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为int(6),就可以保证所包含的数字少于6位的时候自动在前面补0。
对于应用无符号整形时,在字段约束中加unsigned,这时所用的就是无符号整形。
如果加入zerofill约束,当位数不够时,默认以0补充。所以如果加了这个约束,就必须添加正整数的值。
B.浮点型:
类型
大小
范围
范围
用途
float
4个字节
单精度浮点值
Double或real
Double precision
8个字节
双精度
浮点数值
Decimal或
Dec numeric
decimal(m,d)
如果M>D为
M+2,否则为D+2
小数值
当定义浮点型值时,也可以用附加参数:一个显示宽度指示器和一个小数点指示器。例如,Float(5,2)规定显示的值不会超过5位数字,小数点后带有2位数。
如果小数点后面的数字个数超出了允许的数目的值,系统会自动将它四舍五入为最接近它的值,然后插入。如果插入的值长度超过了设置,则会报错。例如,如果插入1234,789,则小数点后会保留2位,单是总长度超过,会报错。小数点后不足的位数补0。
注意:如果前一个值小于后一个值则会报错,所以,M必须大于D;
Decimal 数据类型用于要求非常高的精确度的计算中。这种类型允许指定数值的精确度和计数法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,decimal(5,2)规定了存储的值将不会超过5位数字,并且小数点后面有2位数字。
注意:MySQL在内部把数据存储为字符串,更精确地保留它们的值。
忽略decimal数据类型的精确度和技术方法修饰符将会使MySQL把所有标识为这个类型的字段的精度默认为10,计算方法默认为0。
Unsigned和zerofill修饰符也可应用在float,double,decimal类型。
C. 字符串类型
MySQL字符串类型
类型
大小
用途
char
0~28-1字节
定长字符串
varchar
?
变长字符串
tinyBlob
0~28-1字节
不超过255个字符的二进制字符串
tinyText
0~28-1字节
短文本字符串
Blob
0~216-1字节
二进制形式长文本数据
Text
0~216-1字节
长文本数据
MediumBlob
0~224-1字节
二进制形式的中等长度文本数据
MediumText
0~224-1字节
中等长度文本数据
LongBlob
0~232-1字节
二进制形式的极大文本数据
LongText
0~232-1字节
极大文本数据
(1)Char和Varchar类型:
Char 类型:用于定长字符串,必须在其后的括号中给出长度参数。例如,char(5):该字段长度为5个字符,如果不足5个则用空格从后面补充;如果超出5个则会报错。这个长度参数的大小,最大是255。
Varchar类型:可变长字符串,也必须在其后的括号中给出长度参数。
Char和varcha类型的区别是:char类型把这个值作为准确值;varchar把它视为最大值,并且只使用了存储字符串的实际上需要的字节数(增加一个额外的字节记录长度)。如果存储的值超过了长度参数的值,会报错。
(2) Text和Blob类型:
Blob类型区分大小写;Text类型是不区分大小写。
D. 日期和时间类型:
MySQL日期类型
类型
大小
范围
格式
用途
Date
3字节
1000-01-01~
9999-12-31
YYYY-MM-DD
日期型
Time
3字节
HH:MM:SS
DateTime
8字节
1000-01-01
00:00:00~
9999-12-31
23:59:59
YYYY-MM-DD HH:MM:SS
Year
1字节
1901~2155
YYYY
TimeStamp
8字节
1970-01-01
00:00:00~
2037年
YYYYMMDDHHMMSS
E. 枚举类型:
Enum类型允许从集合中选择单个值时,通常用于互斥的数据值。
用法如下:
Create table test(
Id int(5) primary key,
Gender Enum('M',F')
);
Insert into test values(1,'M');
Insert into test values(1,'F');
Set类型:不同于Enum的是它允许从列表中选择多个值。
Create table test(
Id int(5) primary key,
Gender Set('A' , 'B' ,'C', 'D', 'E' , 'F')
);
Insert into test values(1,'A,B,C');
Insert into test values(1,'F');
Insert into test values(1,'A, E');
3. 字段约束:
not null 和 null
表示这个字段是否可以为空,默认是可以为空;
default
表示这个字段的默认值是什么,如,default ‘hh’;
如果没有指定这个字段默认值是多少,则会根据情况:
如果这个字段可以为空,则会赋值为null;
如果这个字段不可以为空,则会根据情况赋值默认值:
(1) 如果这个字段是数值类型,则会赋值为0;
(2) 如果这个字段是字符类型,则会赋值为空字符串;
(3) 如果这个字段是时间类型,则会赋值为当前的日期和时间
(4) 如果这个字段是枚举类型,则会赋值为枚举组的第一条
Auto_increment
只适用于int 类型,表示这个字段会根据插入记录的条数自动递增。
这对于主键是非常有用的,如果主键设为Auto_increment,则在插入数
据时,可以省略主键的插入值。
Primary key
设置主键。不能为空且其值表中唯一。
Eg1:
create table tableName(
Id int(10) Auto_increment primary key,
Name varchar(50) not null
);
Eg2:
create table tableName(
Id int(10) Auto_increment,
Host int(10) Auto_increment,
Name varchar(50) not null,
primary key(Id,Host)
);
对于eg1,这种格式的主键设置方式,只能设置这一个字段为主键;
对于eg2, 这种格式的主键设置方式,可以设置多个字段为联合主键;
- MySQL学习简明文档
- MySQL学习简明文档
- MySQL简明学习笔记
- route-map简明学习文档
- 简明python教程学习笔记之十-DocStrings文档字符串
- mysql 帮助文档学习
- log4j简明使用文档
- log4j 简明使用文档
- oracle简明整理文档
- 单文档,简明流程
- mysql帮助文档学习笔记
- Mysql 官方中文学习文档
- python os模块简明文档
- MySQL优化简明指南
- MYSQL简明教程
- MySQL优化简明指南
- MySQL优化简明指南
- MySQL简明语法
- KMP算法大总结
- Android客户端处理服务器端返回的Json格式数据
- 英文操作系统下Eclipse编码方式
- 马士兵语录
- POJ1328
- MySQL学习简明文档
- svn使用的
- 文件锁定
- unity3d中连接数据库 MySQL
- Google PageRank专利和李彦宏超链分析专利的区别
- msp430f5438时钟系统
- Method for node ranking in a linked database
- Hypertext document retrieval system and method
- 网易在线查看文档