MySQL基本操作

简介

  • MySQL是一个关系型数据库管理系统
  • RDBMS:当前主要使用两种数据库,一种是关系型数据库,一种是非关系型数据库,而RDBMS就是关系型数据库
  • SQL是结构化查询语言,用来操作关系型数据库的语句,当前关系型数据库都支持SQL语句进行操作
  • SQL 语句分为:
    • DQL:数据查询语言,用于对数据进行操作
    • DML:数据操作语言, 对数据进行增删改查
    • TPL:事务处理语言,对事务进行操作
    • DCL: 数据控制语言,进行授权与权限回收
    • DDL: 数据定义的语言,进行数据库、表的管理
    • CCL:指针控制语言,通过指针完成数据表的操作

数据库的操作

  • 查看说有的数据库
show databases;
  • 使用数据库
use 数据库名;
  • 查看当前使用的数据库
select database();
  • 创建数据库
create database 数据库名 charset=utf8;
  • 删除数据库
drop database 数据库名;

数据表的操作

  • 查看当前数据库中的所有表
show tables;
  • 查看表结构
desc 表名;
  • 创建表
create table 表名(字段名 类型 约束);
  • 修改表-添加字段
alter table 表名 add 字段名 类型;
  • 修改表-修改字段-重命名
alter table 表名 change 原名 新名 类型及约束;
  • 修改表-修改字段-不重命名
alter table 表名 modify 字段名 类型及约束;
  • 修改表-删除字段
alter table 表名 drop 字段名;
  • 删除表
drop table 表名;
  • 查看表的创建语句
show create table 表名;

数据的操作

  • 基本查询-查询所有
select * from 表名;
  • 指定列查询
select 字段名1, 字段名2 from 表名;
  • 添加数据
insert into 表名 values(添加的数据);
  • 修改数据
update 表名 set 字段=值 where 条件;
  • 删除
delete from 表名 where 条件;

数据的查询

  • 查询所有字段
select * from 表名;
  • 别名查询
select 字段名 as 别名 from 表名;
  • 消除重复行
select distinct 字段名 from 表名;
  • 比较运算符查询
select * from 表名 where 查询的条件 例如: age > 18;
  • 逻辑运算符查询
select * from 表名 where id > 3 and gender=2; 
select * from 表名 where id > 3 or gender=2;
  • 模糊查询
查询姓李的
select * from 表名 where name like "李%";
  • 非连续范围查询
查询年龄为18和34的
select * from 表名 where age in (18, 34);
  • 连续范围查询
查询年龄在18到34之间的
select * from 表名 where age between 18 and 34;
  • 排序
select * from 表名 order by 字段名 升序 asc 降序 desc
  • 聚合函数
总数
select count(*) from 表名;
求和
select sum(字段名) from 表名;
最大值
select max(字段名) from 表名;
最小值
select min(字段名) from 表名;
平均值
select avg(字段名) from 表名;
  • 分组查询
select * from 表名 group by 字段名
  • 分页查询
select * from 表名 limit 当前第几页, 每页显示多少数据
  • 连接查询
内连接
select * from 表名1 inner join 表名2 on 表名1.字段名 = 表名2.字段名
左连接
select * from 表名1 left join 表名2 on 表名1.字段名 = 表名2.字段名
右链接
select * from 表名1 right join 表名2 on 表名1.字段名 = 表名2.字段名

事务的四大特性

  • 原子性:一个事务的不可分割最小单位,操作要么全部提交成功,要么全部失败回滚
  • 隔离性:一个事务在没有提交之前对另一个事务是不可见的
  • 一致性:一个事务执行之前和执行之后都必须处于一致性状态,也就是说数据不会被破坏
  • 持久性:一旦数据被调教,那么数据的存储将会是永久性的

事务的四个隔离级别

  • Read uncommitted(读未提交):如果一个事务已经开始写数据,则另外一个事务则不允许同时进行写操作,但允许其他事务读此行数据
  • Read committed(读以提交):读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行
  • Repeatable read(可重复读):可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。
  • Serializable(序列化):提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值