常见的Mysql图形化管理工具
在命令行当中来敲SQL语句非常不方便!因此,在实际项目开发当中,我们都会借助于现成的图形化管理工具来操作数据库。
目前MySQL主流的图形化界面工具有以下几种:
作为一个刚学习java的菜鸡,笔者对Navicat Premium甚是喜爱!
其实,IDEA中内置了一个Mysql数据库图形化工具,用起来极其丝滑,完美替代Navicat Premium!正经开发谁还用Navicat啊!
IDEA中的Mysql图形化工具
DataGrip是JetBrains旗下的一款数据库管理工具,是管理和开发MySQL、Oracle的极佳解决方案。DataGrip已经集成到了 IDEA当中,因此,我们可以使用IDEA来作为一款图形化界面工具来操作Mysql数据库。
IDEA的Mysql图形化管理工具在哪
IDEA的图形化管理工具非常好找,点击编译器侧边栏的【Database】就可以快速的打开图形化管理面板!
连接数据库
1、连接数据库
点击图形化工具的+号(创建按钮),然后 选择Data Source、MySql
2、输入相关信息
3、下载MySQL连接驱动
第一次连接数据库,需要下载相关的连接驱动
4、测试数据库连接
6、保存配置
测试通过后,点击ok即可保存配置,进入数据库。
默认情况下,连接上了MySQL数据库之后, 数据库并没有全部展示出来。 需要选择要展示哪些数据库。具体操作如下:
数据库操作DDL
创建数据库
创建一个数据库非常简单,鼠标右键点击【new】按照下图操作即可
有了图形化界面工具后,就可以方便的使用图形化工具:创建数据库,创建表、修改表等DDL操作。
其实工具底层也是通过DDL语句操作的数据库,只不过这些SQL语句是图形化界面工具帮我们自动完成的。
查看所有数据库
查看所有的数据库,首先可以打开图形化管理工具的控制台,然后输入指令show databases ; 接下来选中这条指令,最后点击执行按钮即可。
数据表操作DDL
表创建
使用语法创建数据表
语法
create table 表名(
字段1 字段1类型 [约束] [comment 字段1注释 ],
字段2 字段2类型 [约束] [comment 字段2注释 ],
......
字段n 字段n类型 [约束] [comment 字段n注释 ]
) [ comment 表注释 ] ;
案例:创建tb_user表
建表语句
新建的tb_user表,没有数据,我们可以点击+号添加数据
约束
约束就是作用在表中字段上的规则,用于限制存储在表中的数据。保证数据库当中数据的正确性、有效性和完整性。在MySQL数据库当中,提供了以下5种约束:
注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
在之前的tb_user表中,应该有以下限制
- id 是一行数据的唯一标识
- username 用户名字段是非空且唯一的
- name 姓名字段是不允许存储空值的
- gender 性别字段是有默认值,默认为男
我们的建表语句,就应该改为
create table tb_user (
id int primary key comment 'ID,唯一标识',
username varchar(20) not null unique comment '用户名',
name varchar(10) not null comment '姓名',
age int comment '年龄',
gender char(1) default '男' comment '性别'
) comment '用户表';
主键自增:auto_increment
我们删除之前的数据表,然后重新执行建表命令即可
数据类型
在上面建表语句中,我们用到了int 、varchar、char,MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
数值类型
类型 | 大小 | 有符号(SIGNED)范围 | 无符号(UNSIGNED)范围 | 描述 |
---|---|---|---|---|
TINYINT | 1byte | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2bytes | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3bytes | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT/INTEGER | 4bytes | (-2147483648,2147483647) | (0,4294967295) | 大整数值 |
BIGINT | 8bytes | (-263,263-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.7976931348623157 E+308,1.7976931348623157 E+308) | 0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308) | 双精度浮点数值 |
DECIMAL | 依赖于M(精度)和D(标度)的值 | 依赖于M(精度)和D(标度)的值 | 小数值(精确定点数) |
示例:
年龄字段 ---不会出现负数, 而且人的年龄不会太大
age tinyint unsigned
分数 ---总分100分, 最多出现一位小数
score double(4,1)
- tinyint: 这是一个很小的整数类型。在MySQL中,TINYINT可以存储从-128到127的整数。
- unsigned: 这个属性表示这个字段只能存储非负整数。所以,如果你使用这个字段来存储年龄,那么它就不能存储负数。
- double(4,1): 这是一个双精度浮点数类型。
- (4,1): 这里的数字表示了数字的精度和范围。第一个数字4表示总位数(包括小数点两边的数字),第二个数字1表示小数点后的位数。
字符串类型
类型 | 大小 | 描述 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串(需要指定长度) |
VARCHAR | 0-65535 bytes | 变长字符串(需要指定长度) |
TINYBLOB | 0-255 bytes | 不超过255个字符的二进制数据 |
TINYTEXT | 0-255 bytes | 短文本字符串 |
BLOB | 0-65 535 bytes | 二进制形式的长文本数据 |
TEXT | 0-65 535 bytes | 长文本数据 |
MEDIUMBLOB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 |
char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。
示例:
用户名 username ---长度不定, 最长不会超过50
username varchar(50)
手机号 phone ---固定长度为11
phone char(11)
日期时间类型
类型 | 大小 | 范围 | 格式 | 描述 |
---|---|---|---|---|
DATE | 3 | 1000-01-01 至 9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | -838:59:59 至 838:59:59 | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901 至 2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | 1970-01-01 00:00:01 至 2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
示例:
生日字段 birthday ---生日只需要年月日
birthday date
创建时间 createtime --- 需要精确到时分秒
createtime datetime
使用图形化工具创建表
借助于图形化界面来创建表结构,这种创建方式会更加直观、更加方便。
我们选中要创建表的数据库,鼠标右键
编辑表结构的相关信息
表查询
IDEA中的数据库图形化管理工具中,查询操作非常容易
- 查询当前数据库所有表
点击数据库下面的tables或者输入如下指令
show tables;
- 查看指定表结构
desc 表名 ;#可以查看指定表的字段、字段的类型、是否可以为NULL、是否存在默认值等信息
- 查询指定表的建表语句
鼠标右键一张表,点击【Go to DDl】或者输入
show create table 表名 ;
表修改
添加字段
语法
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
案例: 为tb_test表添加字段qq,字段类型为 varchar(11)
alter table tb_test add qq varchar(11) comment 'QQ号码';
图形化操作
鼠标右键需要修改的表名,点击【Modify Table】
修改数据类型
语法:
alter table 表名 modify 字段名 新数据类型(长度);
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
案例:修改qq字段的字段类型,将其长度由11修改为13
alter table tb_test modify qq varchar(13) comment 'QQ号码';
案例:修改qq字段名为 qq_num,字段类型varchar(13)
alter table tb_tesp change qq qq_num varchar(13) comment 'QQ号码';
图形化操作:
使用图形化工具双击后编辑即可
删除字段
语法:
alter table 表名 drop 字段名;
案例:删除tb_test表中的qq_num字段
alter table tb_emp drop qq_num;
图形化操作:
修改表名
语法:
rename table 表名 to 新表名;
案例:将当前的tb_test表的表名修改为emp
rename table tb_emp to emp;
图形化操作:
表删除
语法:
drop table [ if exists ] 表名;
if exists :只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。
案例:如果emp表存在,则删除emp表
drop table if exists emp; -- 在删除表时,表中的全部数据也会被删除。
图形化操作:
数据操作DML
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
- 添加数据(INSERT)
- 修改数据(UPDATE)
- 删除数据(DELETE)
增加(insert)
insert语法:
- 向指定字段添加数据
insert into 表名 (字段名1, 字段名2) values (值1, 值2);
- 全部字段添加数据
insert into 表名 values (值1, 值2, ...);
- 批量添加数据(指定字段)
insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
- 批量添加数据(全部字段)
insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);
案例1:向tb_user表的id,username、name、age,gender字段插入数据
-- 向tb_user表的username、name、gender字段插入数据
insert into tb_user(id,username,name,age,gender)
values (2,'shixiaoshi', '石小石', 18, '男');
案例2:批量向tb_user表的id,username、name、age,gender字段插入数据
-- 批量向tb_user表的username、name、gender字段插入数据
insert into tb_user(id,username,name,age,gender)
values (3,'xiao', '小', 18, '男'),
(4,'shi', '石', 18, '男');
图形化操作:
修改(update)
update语法:
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [where 条件] ;
案例1:将tb_user表中id为2的员工,姓名name字段更新为'玛卡巴卡'
update tb_user set name='玛卡巴卡' where id=2;
图形化操作:
注意事项:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
删除(delete)
delete语法:
delete from 表名 [where 条件] ;
案例1:删除tb_user表中id为2的人
delete from tb_user where id = 2;
• DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
• DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。
• 当进行删除全部数据操作时,会提示询问是否确认删除所有数据,直接点击Execute即可。