MySQL学习简明文档
1.操作命令
查看当前MySQL中有哪几个数据库:show databases;
创建一个数据库:create databasedbName;
如果防止数据库重名: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 tabletest(
Id int(5) primary key,
Gender Enum('M',F')
);
Insert intotest values(1,'M');
Insert intotest values(1,'F');
Set类型:不同于Enum的是它允许从列表中选择多个值。
Create tabletest(
Id int(5) primary key,
Gender Set('A' , 'B' ,'C', 'D', 'E' , 'F')
);
Insert intotest values(1,'A,B,C');
Insert intotest values(1,'F');
Insert intotest 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 tabletableName(
Id int(10)Auto_increment primary key,
Name varchar(50)not null
);
Eg2:
create tabletableName(
Id int(10)Auto_increment,
Host int(10)Auto_increment,
Name varchar(50)not null,
primary key(Id,Host)
);
对于eg1,这种格式的主键设置方式,只能设置这一个字段为主键;
对于eg2, 这种格式的主键设置方式,可以设置多个字段为联合主键;
分享到:
相关推荐
此文档是本人学习java过程中总结的一些关于MYSQL的简单使用,文档内容简单明了,有截图。 <br>文档包括:1.如何使用命令行窗口操作mysql,以及mysql的常用命令 2.在MYEclipse中如何导入mysql-jdbc.jar,以及...
本文档对 MySQL 进行了简介、安装、配置和主要命令的讲解。本文档主要分为四个部分:MySQL 简介、安装 MySQL、MySQL 配置和 MySQL 主要命令。 1. MySQL 简介 MySQL 是一个真正的多用户、多线程 SQL 数据库服务器,...
2. `简易mysql命令.pdf`:这份PDF文档可能是关于MySQL命令行操作的简明教程,涵盖了基本的数据库管理和查询命令。 3. `php`:可能是另一个PHP相关的文档或者源代码文件,具体内容需要打开查看才能确定。 综合以上...
在本教程中,我们将深入探讨如何在CentOS7操作系统上安装MySQL 5.7的解压缩版本。这个过程包括下载MySQL的安装包,检查并移除已存在...如果你在安装过程中遇到任何困难,可以参考官方文档或在线社区的资源来获取帮助。
mysql 个人学习笔记, 使用MarkDown标记文档, 简明记录mysql学习的全过程, 从基本安装,SQL命令操作, 到数据库主从配置,数据优化, 均有涉略, 适合从零开始的小伙伴
在学习和开发过程中,查阅这些文档是十分必要的,因为它能提供准确的函数用法和参数说明。 PyQt_4.6.chm文件则是PyQt 4.6的文档,虽然较旧,但对于那些仍在使用或需要兼容这个版本的人来说,它仍然是不可或缺的资源...
**PHP简明教程** 在IT领域,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发中占据着重要地位。本教程旨在为初学者提供一个简洁、清晰的PHP学习路径,适应于40课时左右的PHP选修课程。由于PHP语言的开源性质和...
### 零基础学习PHP-从零开始学习PHP-PHP基础教程-PHP简明教程 #### 重要知识点解析 **1. PHP语言简介** - **背景与特点**:PHP(Hypertext Preprocessor,超文本预处理器)是全球范围内广受青睐的Web开发语言之一...
笔记中提到了5.0.27的安装版和6.0.0的非安装版,安装后的文件布局在Windows上默认位于C:\Program Files\MySQL\MySQLServer 5.1目录下,包含bin、data、doc等子目录,分别存储客户端程序、数据文件、文档和脚本等。...
尽管这份文档只有5页,但它很可能是对这些核心概念的一个简明扼要的介绍,对于初学者来说是一份很好的入门资料。通过学习并熟练掌握这些基本操作,开发者可以为进一步深入学习MySQL的其他特性打下坚实基础。对于实际...
4. **`COMMENT`**:这是一个可选的子句,用于添加关于存储过程的描述信息,这有助于文档化和后期维护。评论应该简明扼要地描述过程的目的和工作原理。 #### 创建和调用存储过程 创建存储过程的基本语法如下: ```...
【PHP动态网站开发简明教程】是一份专为学习PHP动态网站开发而设计的资料,旨在帮助初学者快速掌握PHP的基础知识和实际应用。这份教程包括了从环境配置到实际项目开发的多个章节,覆盖了PHP开发的重要概念和技术。 ...
Redis简明教程可能包含了Redis的基本概念、数据类型(如字符串、哈希、列表、集合、有序集合)、命令操作、持久化机制(RDB和AOF)、主从复制和哨兵系统等内容。通过SpringBoot整合Redis缓存的实践指南,我们可以...
### ERWin简明教程知识点详解 #### 一、ERWin简介 ERWin是一款强大的数据库设计工具,被广泛应用于企业级数据库的设计与管理之中。它能够帮助用户高效地完成数据库概念模型、逻辑模型以及物理模型的设计,并支持从...
《PHP程序设计简明教程》是一本面向初学者的教程,旨在为学习PHP语言提供一个简洁易懂的入口。PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,能够嵌入到HTML中,以实现动态网页内容的生成。 第一章介绍了...
这份文档可能包含以下内容: 1. PHP环境安装步骤和配置,指导读者建立开发环境。 2. PHP基本语法的详细解释,配以实例演示。 3. 数据库连接与查询的教程,讲解如何通过PHP操作MySQL。 4. OOP在PHP中的应用,包括类的...