java mysql知识点_MySQL知识点总结

MySQL知识点总结

一、      MySQL常用命令

启动MySQL服务:service mysqld start 或 systemctl start mysqld.service

停止MySQL服务:service mysqld stop 或 systemctl stopt mysqld.service

重启MySQL服务:service mysqld restart 或 systemctl restart mysqld.service

查看MySQL服务状态:service mysqld status 或 systemctl status mysqld.service

连接MySQL:mysql –uroot –p

退出mysql服务:exit

查看用户数据库权限:show grants;

查看数据库:show databases;

重命名数据库:rename database 原数据库名 to 新数据库名

删除数据库:drop database 数据库名;

使用数据库:use 数据库名;

查看数据库包含的表:show tables;

重命名表:alter table 原表名 rename to 新表名; 还可使用:rename table 数据库.原表名 to 数据库.新表名; (可用于表在数据库的迁移)

创建表:create table if not exists 表名(表头1 数据类型(数据长度) primary key,表头2,数据类型(数据长度))engine=innodb default charset=utf8;

复制表:create table 新表名 as ( select * from 表  [where 条件] );

只复制表结构:create table 新表名 as ( select * from 表 where null);

查看表结构:desc 表名;

新增字段:alter table 表名 add 表头 数据类型(数据长度);

删除字段:alter table 表名 drop 表头 ;

修改字段:alter table 表名 modify 原表头 新表头 数据类型(数据长度);

添加外键:alter table 表名 add constraint 索引名(一般以fk_开头) foreign key(外键名) references 关联外键的表名(关联的主键字段);

插入数据:insert into 表名 ( 列名1,列名2,...,列名n ) values ( 值a1,值a2,...,值an ), ( 值b1,值b2,...,值bn ),…;

删除数据:delete from 表名 [where 子句];

快速删除数据:truncat 表1;删除表1后创建一个新的表,结构名称与表1相同;

修改数据:update 表名 set 列名1=新值1, 列名2=新值2 [where子句];

查询数据:select 列名1,列名2 from 表名 [where子句];

引入sql脚本:source 文件路径/文件.sql

二、      MySQL where子句

使用where子句查询可分为精确查询和模糊查询

比较符有:=、>、=、<=、!=、<>

逻辑符号有:and、or 、not

范围运算符:between … and ..、in、not in

模糊运算:like ‘%_’:%匹配任意字符,_匹配单个字符;

空运算:null、is null、not … is null

子查询:select 字段 from 表 where 字段 in ( select…from…);

三、      group by

select 字段 from 表 group by 字段 having 条件;

having作用与where相似,不能与where一起用,可单独用where:select 字段 from 表 where 条件group by 字段 。

四、      order by

select 字段 from 表 order by 字段1 排序,字段2 排序,….

MySQL中默认为升序排序:asc;降序排序显示为desc。

五、      limit

select 字段 from 表 limit n1 :查询表前n1条数据;

select 字段 from 表 limit n1,n2:查询表行号为n1行为开始行的n2条数据。

六、      查询常用函数

查询语句中常用函数有求和sum()、最大值max()、最小值min()、平均值avg()、统计行数count()、连接查询结果concat() as 、去除重复项distinct

count( )

count(1)和count(*)包含null值,统计行数等于原表记录行数;

count(非空字段) 不计算null值,统计行数等于原表记录行数;

count(null值字段)不计算null值,统计行数小于等于原表记录行数;

count(null)结果恒为0。

concat(‘常量’,字段) as ‘别名’

concat()函数可以将查询结果连接在一起作为一列输出。

七、      多表查询

当需要使用多表进行查询时,需要先考虑查询的数据来源(表),再分析表与表之间的联系;

多表查询除了外连接和内连接,还可以自连接进行查询。

内连接:… inner join…on…

select 字段 from 表join表2 on 联系字段 join表3 on 联系字段

外连接:left join, right join

左外连接:表1 left join 表2 on 联系字段;保留左边的表的全部数据,不管右边是否有对应数据匹配;

右外连接:表1 right join 表2 on 联系字段; 保留右边的表的全部数据,不管左边是否有对应数据匹配;

八、      union

union把多个sql语句的执行结果,合并到1个结果中;sql语句的查询字段必须相似,否则会报错。

union操作符: 默认会去除多个结果中的重复信息;

union all 操作符: 返回多个结果中所有信息(不会去除重复信息)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值