作为一名Java程序员或者作为后端开发工程师,MySQL数据库可以说是Java开发人员必备的技能之一。想成为一名优秀后端工程师及往后架构师发展,是必须要和数据库打交道的,对数据库一定都要非常熟悉,因为我们大部分业务性能瓶颈都来自数据库层,能否写出高效SQL是提高性能的关键所在。因此,我个人觉得数据库是程序员必须具备的技能。
MySQL基本命令
1、登录数据库系统:mysql -u root -p 回车下一步输入密码即可登录
2、查询现有数据库:show databases
3、创建数据库:create database [数据库名]
4、删除数据库:drop database [需要删除的数据库名]
5、创建表:先选择数据库(use 数据库名)再create table [表名]
6、创建表的主键:create table [表名] id int primary key,name varchar(10),age int(150); 注意逐渐语法为primary key
7、 查看表结构:describe [表名]
8、查看详细结构:show create table [表名]
修改表语句
1、修改表名:alter table [旧表名] rename [新表名]
2、修改字段:alter table [表名] change [旧属性名] [新的属性名] [新的属性类型]
3、新增字段:alter table [表名] add [新属性名] [新属性类型]
4、删除字段:alter table [表名] drop [属性名]
5、删除表:drop table [表名]
SQL基本语句
1、查询所有字段:select * from [表名]
2、如按年龄排序升降(asc升序和desc降序): select * from [表名] where age>20 order by age desc;
3、查询带“IN”关键字,如年龄20到30:select * from [表名] where age in <20,30>;即可查询
4、带between and的范围查询:select * from [表名] where age between 20 and 25;意思是查询年龄20到25岁的范围
5、带like的字符匹配查询:select * from [表名] where username(字段名) like '%科';
解释通配符:%代表任意长度的字符串,可为0、a_b表示查询以a开头及b结尾、“_”代表任意字符。
6、查询空值:select * from [表名] username(字段名) is unll;
7、带“or”的多查询:select * from [表名] where age between 20 and 30 or username like'%科比%';
8、去重查询:select distinct [字段名] from [表名]
分组查询
1、结合group_concat()查询:select [字段名],group_concat(字段名) from [表名] group by [字段名]
2、结合聚合函数数使用:select [字段名],count(字段名) from [表名] group by [字段]
聚合函数查询
1、count(记录数):select count(age) from [表名]
2、求和:select sum(age) from [表名]
3、求平均:select avg(age) from [表名]
4、求最大值:select max(age) from [表名]
5、求最小值:select min(age) from [表名]
笔者从事大数据、Java后端开发的,如果你也是正在考虑学习或者这学习中遇到什么问题,可以评论区留言或者私信,后续会更新关于大数据、Java开发的技术文章。