美文网首页数据库MySQL
数据库基础篇总结

数据库基础篇总结

作者: aec367caa311 | 来源:发表于2018-10-15 18:19 被阅读101次

连接数据库的方式

  1. 使用命令进入本机数据库(本机需要安装有数据库)
    命令:mysql -h localhost -uroot -proot
  2. 客户端连接数据库(需要安装数据库的客户端)
    填入ip/域名
    填入用户名
    填入密码
    填入端口


    数据库客户端
  3. 写代码连接数据库
    Java代码可以使用JDBC连接数据库用sql脚本使用数据库数据

条件运算符和常用关键字

  • ">":大于
  • "<":小于
  • "<>":不等于
  • "!==":不等于
  • ">=":大于等于
  • "<=":小于等于
  • "and":和
  • "or":或者
  • "between and":两数之间
  • "like":模糊查询
  • "%":通配符代表任意多个字符
  • "_":通配符代表一个任意字符
  • "not":非/不是的意思
  • "in":一个字段有多个筛选条件是使用
  • in:同一个字段有多个筛选条件,每个条件都需要用英文的逗号分隔
  • in:对多个字段的多个筛选条件,每个条件都需要用英文的逗号分隔
  • in:不能对null进行筛选
  • "order by":排序
  • asc:升序
  • desc:降序
  • "limit":指定数据查看
  • 只能mysql使用
  • 查询结果是以0为其实序号
  • limit n,m:n代表起始位置,m代表展示m条数据
  • "distinct":去重
  • "group by":分组
  • "count":统计
  • "sum":求和
  • "avg":平均
  • "max":最大
  • "min":最小
  • "having":对聚合函数进行过滤

增、删、改、查格式

1. 增
  • 关键字insert into
  • insert into 表名 (字段名1,字段名2,...) value (值1,值2,...);
insert into table (no1,no2) value (001,002);
  • insert into 表名 (字段名1,字段名2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...);
insert into table (no1,no2) values (001,002);
拓展内容
  • 把数据从一张表备份到另一张表中
  • insert into 目标表 select * from 源表 where 条件;
insert into table1 select * from table where no = 1;

注意:两张表的数据结构必须完全相同,where后面跟的条件最好为表的主键或是唯一的值,不然可能出现备份了很多与其字段名相同的数据

  • insert into 目标表 (字段名1,字段名2,...) select 字段1,字段2,... from 源表 where 条件;
insert into table1  (no,name) select id,ip from table where no = 1;

注意:不限制两表结构是否一致,where后面跟的条件最好为表的主键或是唯一的值,不然可能出现备份了很多与其字段名相同的数据

2. 删
  • 关键字delete
  • delect from 表名 where 条件;
delect from table where name = 'wang';
  • 注意:where后面跟的条件最好是该表的主键或唯一的值,不然可能会出现符合该条件的有多个值都会被删除
拓展内容
  • 清表
  • delect from 表名;
delect from table;

注意:只删除表中的数据,不清楚内存,如果表中字段有自增的值清除表后自增还会存在,添加数据是会在清除表前的数据基础增加

  • truncate table 表名
truncate table table;

注意:表中的数据全部清除,如果表中字段有自增的值清除后添加数据会从最开始增加

  • 删表
  • drop table 表名;
drop table group;
  • 删库
  • drop database 库名;
drop database table;
3. 改
  • 关键字update
  • update 表名 set 字段名 = 字段值,字段名 = 字段值,... where 条件;
update table set name = '王',id = 001 where no = 002;
  • 注意:where后面跟的条件最好是该表的主键或唯一的值,不然可能会出现符合该条件的有多个值都会被更改
拓展内容
  • alter table 表名;
alter table group;
4. 查
  • 关键字select
  • select 字段名1,字段名2 from 表名 where 字段名 连接符 条件;
select name,id from table where no = 001;
  • 详解:
    字段名:需要展示的内容
    表名:需要查询的库
    条件:过滤筛选需要的数据
拓展内容
  • 以其他表数据做条件查询
    select 字段名 from 表名1 where 字段名 = (select 字段名 from 表名2 where 字段名 = 条件);
select name from table1 where id = (select Id from table2 where no = 001);

多表关联

内连接
  • 关键字 join 或 inner join
  • select * from 表1 inner join 表2 on 连接条件
  • select * from 表1 join 表2 on 连接条件
select * from table a inner join table b on a.no = b.no;

select * from table a join table b on a.no = b.no;
  • 注意:内连接会把两表有关联的数据都保留,其他的数据会丢弃掉
左连接
  • 关键字left join
  • select * from 表1 left join 表2 on 连接条件;
select * from table a left join table b on a.no = b.no;
  • 注意:左连接是以左表为主表,保留主表的所有字段,右表只保留与左表有关联的数据,其他的数据都会丢弃掉,主表与右表做关联没有数据的会以null来补全
右连接
  • 关键字right join
  • select * from 表1 right join 表2 on 连接条件;
select * from table a right join table b on a.no = b.no;
  • 注意:右连接是以右表为主表,保留主表的所有字段,左表只保留与右表有关联的数据,其他的数据都会丢弃掉,主表与左表做关联没有数据的会以null来补全
全连接
  • 关键字full join
  • select * from 表1 full join 表2 on 连接条件;
select * from table a full join table b on a.no = b. no;
  • 注意:全连接会保留两表的所有字段,把两表进行组合,有字段没有值的会以null来补全

表备份

备份到临时表

格式:

  • 只备份表的结构:create table 临时表名 as select * from 源表名 where 1 = 2;
  • 备份表的结构和数据:create table 临时表名 as select * from 源表名 where 1=1;
备份成SQL脚本
  1. 右键点击需要导出的表
  2. 点击备份/导出-->导出表数据作为


    image.png
  3. 选择SQL-->结构和数据-->设置储存地址


    image.png

相关文章

网友评论

    本文标题:数据库基础篇总结

    本文链接:https://www.haomeiwen.com/subject/edtqzftx.html