目录
MySQL图形化界面工具
前言
使用MySQL图形化界面工具的好处:MySQL命令行工具开发效率低,使用起来不直观,也不方便。使用MySQL图形化界面工具可以大大提高开发效率。
常用的MySQL图形化界面工具有:MySQL Workbench、Sqlyog、Navicat、DataGrip、HeidiSQL。
MySQL Workbench其实已经在安装MySQL组件的时候安装了。
这里我们使用HeidiSQL。
安装HeidiSQL
进入官网:HeidiSQL - MariaDB, MySQL, MSSQL, PostgreSQL and SQLite made easy
点击Downloads>Installer>Download
点击保留...
开始下载..
双击该文件>选择只为自己使用
选择英语,点击OK
选择同意,Next
选择安装路径,选择Next
点击Next
点击Next
点击安装Install
点击完成Finish
使用HeidiSQL
安装完成的打开界面如下:
连接【本地】数据库
点击新建会话>点击将会话重命名为“本地数据库服务器”
填写主机名:localhost,也可以写IP:127.0.0.1
填写用户root的密码:123456
点击保存
点击打开(注意:连接不上,一定要检查MySQL服务是否启动)
连接成功后如下:
创建新数据库
点击本地数据库服务器,右键>创建新的>数据库>输入数据库名“test2”
在数据库test2中创建新表user
点击数据库test2,右键>创建新的>表
填写表名:user,填写表名注释
添加字段,填写字段名,类型,注释等..
点击保存
在数据库test2中,修改user的表结构
点击user,右键>编辑,即可修改表结构..
我们也可以自己编写SQL语句进行操作
点击查询>编写SQL语句>点击小三角运行
连接【虚拟机Test_Ubuntu】数据库
查询【虚拟机Test_Ubuntu】的IP地址-linux命令:ifconfig
查看MySQL服务是否开启-linux命令:systemctl status mysql
(若MySQL服务未开启-开启MySQL服务的linux命令:systemctl start mysql)
切换到root用户(密码:XXXXXXX),查看MySQL服务的端口-linux命令:
netstat -anptu | grep mysql
HeidiSQL-会话管理器中,点击新建(新建会话)
填写会话信息,如下:
输入会话名称、服务器IP、MySQL用户的用户名、该用户的密码、MySQL服务的端口
填写完毕后,点击打开即可连接
连接成功
MySQL数据类型
MySQL中的数据类型分为3类:数值类型,字符串类型,日期时间类型。
数值类型
数值类型如下:
分类 | 类型 | 大小 | 有符号取值(SIGNED)范围 | 无符号取值(UNSIGNED)范围 | 描述 |
数值类型 | TINYINT | 1byte | (-128, 127) | (0, 255) | 小整数值 |
SMALLINT | 2bytes | (-32768, 32767) | (0, 65535) | 大整数值 | |
MEDIUMINT | 3bytes | (-8388608, 8388607) | (0, 1677215) | 大整数值 | |
INT或INTEGER | 4bytes | (-2147483648 ,2147483647) | (0, 4294967295) | 大整数值 | |
BIGINT | 8bytes | (-2^63, 2^63-1) | (0, 2^64-1) | 极大整数值 | |
FLOAT | 4bytes | (-3.402823466 E+38, 3.402823466351 E+38) | 0和(1.175494351 E-38, 3.402823466 E+38) | 单精度浮点数值 | |
DOUBLE | 8bytes | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值 | |
DECIMAL | DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M(精度)和D(标度)的值 M:指的是整个数值的长度,比如12.23的精度是4 D:指的是小数部分的长度,比如12.23的标度是2 | 依赖于M(精度)和D(标度)的值 | 小数值(精确定点数) |
注意:
在创建表的时候:要是取有符号的范围,要加上SIGNED关键字,如果是取无符号的范围,要加上UNSIGNED关键字。
字符串类型
字符串类型如下:
分类 | 类型 | 大小 | 描述 |
字符串类型 | CHAR | 0~255bytes | 定长字符串 |
VARCHAR | 0~65535bytes | 变长字符串 | |
TINYBLOB | 0~255bytes | 不超过 255 个字符的二进制字符串 | |
TINYTEXT | 0~255bytes | 短文本字符串 | |
BLOB | 0~65535bytes | 二进制形式的长文本数据 | |
TEXT | 0~65535bytes | 长文本数据 | |
MEDIUMBLOB | 0~16777215 bytes | 二进制形式的中等长度文本数据 | |
MEDIUMTEXT | 0~16777215 bytes | 中等长度文本数据 | |
LONGBLOB | 0~4294967295 bytes | 二进制形式的极大文本数据 | |
LONGTEXT | 0~4294967295 bytes | 极大文本数据 |
注意:
- CHAR(10)表示最多存储10个字符,如果存储了一个字符,会占用10个字符的空间(未占用的空间会用空格补位);VARCHAR(10),如果存储了一个字符,就会占用一个字符的空间,会根据存储的内容,计算当前所占用的空间。
- CHAR的性能高;VARCHAR相对于CHAR来说,性能较差(因为VARCHAR要根据内容计算空间)。用户名适合使用VARCHAR,性别适合使用CHAR。
日期时间类型
日期时间类型:
分类 | 类型 | 大小 | 范围 | 格式 | 描述 |
日期类型 | DATE | 3bytes | 1000-01-01至9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3bytes | -838:59:59至838:59:59 | HH:MM:SS | 时间值或持续时间 | |
YEAR | 1byte | 1901至2155 | YYYY | 年份值 | |
DATETIME | 8bytes | 1000-01-01 00:00:00至9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | |
TIMESTAMP | 4bytes | 1970-01-01 00:00:01至2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
注意:
- DATE、TIME、DATETIME用的比较多。
- 比如:记录生日最好用DATE比较合适。
运算符
比较运算符 | 功能 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<>或!= | 不等于 |
BETWEEN...AND... | 在某个范围之间(含最小和最大值)。 注意:先写最小值,再写最大值。 |
IN(...) | 在in之后列表中的值,多选一 |
LIKE 占位符 | 模糊匹配(_匹配单个字符,%匹配任意字符) |
IS NULL | 是空 |
逻辑运算符 | 功能 |
AND或&& | 并且(多个条件同时成立)。 注意:&&将会在未来弃用,不建议使用该方式。 |
OR或|| | 或者(多个条件任意一个成立) 注意:||将会在未来弃用,不建议使用该方式。 |
NOT或! | 非,不是 |
聚合函数
聚合函数:将一列数据作为一个整体,进行纵向计算。
常见的聚合函数
函数 | 功能 |
count(*或字段名) | 统计数量 |
max(字段名) | 最大值 |
min(字段名) | 最小值 |
avg(字段名) | 平均值 |
sum(字段名) | 求和 |
注意:聚合函数不能作为WHERE后面的条件,聚合函数可以在HAVING里作为条件使用。
其他的注意点
如果一个字段加上反引号`字段名`,作用是防止和关键字重名。