Mysql --数据库用法总结

一、数据库基础知识

DBMS数据库管理系统

1.三级模式:
  1. 用户级–> 外模式(反映了数据库系统用户观)

    外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。

  2. 概念级–> 概念模式(反映了数据库系统的整体观

    概念模式又称模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)

  3. 物理级 --> 内模式(反映了数据库系统的存储观

    内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。

2.二级映射
  1. 外模式到模式的转换 – ‘外模式/内模式’映射
  2. 模式到内模式的转换 – ‘模式/内模式’映射
3.数据库完整性规则
  1. 实体完整性:表中任意一行的主键值不能为空,也不可重复
  2. 参照完整性:主外键关联
  3. 用户自定义完整性:性别只能是男/女
  4. 域完整性:非空约束,唯一性约束
4.SQL分类
  1. DDL :数据自定义语言,定义数据库对象(库、表、列)

  2. DML :数据操作语言,定义数据库记录

  3. DCL :数据控制语言,定义访问权限和安全级别

  4. DQL :数据查询语言,查询记录

    扫描二维码关注公众号,回复: 12807505 查看本文章
5.事务 --工作的逻辑单元

主要作用:确保数据库的完整性

事务的特性:(ACID)

  1. 原子性(Atomicity):事务中的操作要么都做,要么都不做
  2. 一致性(Consistency):事务必须是数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  3. 隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据,对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  4. 持久性(Durability):指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

二、Mysql

默认端口号:3306

1.在cmd控制台使用mysql

登录mysql: mysql -u root -p
退出mysql:exit

操作数据库:

功能 语句
显示所有数据库 show databases;
切换数据库 use 数据库名;
查询当前使用的数据库 select database();
创建数据库 create database 数据库名;
删除数据库 drop database 数据库名;
显示所有表 show tables;
查看数据表的结构(列) desc 表名;
执行sql脚本文件 sourse 脚本文件名;
2.表操作 alter
  1. 添加classname列:

    alter table stu add (classname varchar(100));

  2. 修改sgender列的数据类型为char(2):

    alter table stu modify (sgender char(2));

  3. 修改sgender列的列名为sex:

    alter table stu change sgender sex char(2);

  4. 删除classname列:

    alter table stu drop classname;

  5. 修改stu表的表名为student:

    alter table stu rename to student;

3.数据操作(DML)
  1. 插入数据:insert into 表名(列名)value (值…)
  2. 修改数据:update 表名 set 列名=值… where 列名=值 (条件判断指定某一行)
  3. 删除数据:delete from 表名 [ where 列名=值 ]
4.查询
  1. 模糊查询
    select 字段 from 表名 where 字段 Like 条件

    eg: 查询id以5结尾的所有记录
    select * from student where id like ‘%5’

    ‘%’:0个或多个字符
    ‘_’:一个字符

  2. 去重查询
    select distinct 字段 from 表

  3. 分组查询
    select 字段… from 表 group by 字段

  4. 取别名
    select 字段 as 别名 from 表

  5. 排序
    select * from 表 order by 字段

5.聚合函数

count() max() min() sum() avg()

-- 查询月薪大于2500的人数
select count(sal) as '总数' from emp where sal>2500;
-- 统计月薪于奖金和大于2500的人数
select count(*) as '总数' from emp where sal+ifnull(comm,0)>2500;
-- 查询所有雇员的月薪和
select sum(sal) as'月薪总和' from emp;
-- 查询平均月薪
select avg(sal) as '平均月薪' from emp;
-- 查询月薪最高的员工的记录
select * from emp where sal=(select max(sal) from emp);
-- 查询月薪最低的员工的记录
select * from emp where sal=(select min(sal) from emp);
6.表间关系
  1. 并:表列数要想等
  2. 笛卡尔积:S表3行,M表5行,3×5=15,两表对应拼接共15行
  3. 连接操作:对笛卡尔积的结果进行筛选(内连接,外连接,交叉连接)

内连接:

(1)自然连接: NATURAL JOIN
(2)等值连接: INNER JOIN 两表名 ON 条件

外连接:

(1)左外连接:保留左表中的所有记录,右表中若没有对应记录就显示为NULL
select * from 表1 left join 表2 on 条件
(2)右外连接:与左外连接相反
select * from 表1 right join 表2 on 条件

猜你喜欢

转载自blog.csdn.net/isfor_you/article/details/113588935
今日推荐