前言
一. 什么是MySQL
二. 基础库操作
1. 创建数据库
2. 查看所有数据库
3. 选中数据库
4. 删除数据库
三. 设置数据库的编码字符集
四. MySQL数据类型
1. 数值类型
2. 字符串类型
3. 日期数据类型
五. 基础表操作
1. 创建表
2. 查看库中有哪些表
3. 查看表结构
4. 删除表
开启MySQL新的篇章———简单的库操作&&表操作&&数据类型
MySQL是一种数据库,数据库其实是"基于数据结构"实现出来的软件, 可以对数据进行有组织的存储和管理;
MySQL是一种关系型数据库, 对于数据的存储, 在格式上有严格的要求(以类似于execl表格的方式来存储); 而SQL是编程语言, SQL可以在MySQL等数据库软件上运行;
MySQL是一个客户端, 服务器结构的软件, 我们安装好MySQL, 其实已经把客户端和服务器都安装好了; 我们所使用的MySQL的命令行输入页面就相当于一个客户端,客户端是用来完成和用户交互的, 而服务器是存储数据的本体; 数据存储在服务器主机的硬盘上.
MySQL中的代码不区分大小写, 也就是是说关键字大写和小写都可以.
语法:
create database 数据库名;
注意:
数据库名不能是sql中的关键字, 如果非要使用, 需要将关键字用反引号引起来关键字.
示例:
加上if not exists在建库时如果库存在也不会报错, 避免了sql语句批量执行时由于这一句报错而中断了后面的执行.
MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符; 在MySQL中真正的utf8是utf8mb4 .
语法:
show databases;
示例:
在对一个数据库中的数据进行crud等操作前需要先选中指定的一个数据库.
语法:
use 数据库名;
示例:
语法:
drop database 数据库名;
示例:
MySQL默认的编码字符集是gbk和latin1,这两种字符集是不支持中文的, 需要我们去将这两种字符集修改为utf8或者utf8mb4.
在数据库客户端中我们可以通过show variables like "%char%";来查询当前MySQL默认编码格式。
如果执行结果是上面这个样子就需要去配置文件中去修改字符集了.
可以通过Everything等工具快速找到MySQL的配置文件my.ini.附下载链接,可以去官网下载:下载 - voidtools 这里注意一定是ProgramData目录下的,没有的可以看我前面卸载mysql的文章,里有提到怎么打开这个隐藏的目录。
打开该文件, 找到如下图所示的两个字段修改为utf8或utf8mb4, 修改前要注意备份, 防止修改错搞坏数据库.
sql中定义变量时,变量名在前,类型在后.
数据类型 | 内存大小(字节) | 说明 | 对应java数据类型 | 对应c数据类型 |
---|---|---|---|---|
BIT(M) | M指定位数,默认为1 | 单个二进制位值,或者为0或者为1,主要用于开/关标志(M范围从1到64, 存储数值范围从0到2个M-1) | Boolean | true/false |
TINYINT | 1 | 1字节整数值,支持0~255的整数 | Baty | char |
SMALLINT | 2 | 2字节整数值,支持−32768~32767的整数 | Short | short |
INT | 4 | 4字节整数值,支持−2147483648~2147483647的数 | Integer | int |
BIGINT | 8 | 整数值,支持-9223372036854775808~9223372036854775807的数 | Long | long |
FLOAT(M, D) | 4 | 单精度浮点值,M指定长度,D指定小数位数。会发生精度丢失 | Float | float |
DOUBLE(M,D) | 8 | 双精度浮点值, M指定长度,D指定小数位数。会发生精度丢失 | Double | double |
DECIMAL(M,D) | M/D+2 | 定点或精度可变的浮点值,M指定长度,D表示小数点位数; 精确数值 | BigDecimal | – |
NUMERIC(M, D) | M/D最大 值+2 | 和DECIMAL一样 | BigDecimal | – |
数值类型可以指定为无符号(unsigned),表示不取负数.
数据类型 | 大小 | 说明 | 对应java数据类型 |
---|---|---|---|
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
sql中的字符串值可以用单引号也可以用双引号.
数据类型 | 大小 | 说明 | 对应java数据类型 |
---|---|---|---|
DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
存储格式 : 'yyyy-mm-dd hh:mm:ss'
注意 : 需要操作数据库中的表时,要先选中该数据库
语法:
create table 表名(定义列1, 定义列2, .......);
列 -> 变量名 数据类型
示例:
设计一张学生表,包含以下字段:id,姓名,密码,年龄,性别,生日时间等等.
语法:
show tables;
示例:
语法:
desc 表名;
示例:
语法:
drop table 表名;
示例: