mySQL学习总结及概要

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: mySQL学习总结及概要

前言:


mySQL的知识比较独立,也比较散乱,本篇文章主要目的是以最少的文字回顾整个MySQL的知识,用来查漏补缺的,对于不清楚的地方好针对性的去强化巩固。

1.能够说出数据库的作用


   存储数据

2.能够对使用SQL创建、删除数据库


   创建:

       create database 数据库名 character set 编码表

           --mysql中utf8.不是utf-8

   删除:

       drop database 数据库名;

   使用数据库:use 数据库名

   查看正在使用的数据库:select database();

3.能够使用SQL对表进行增、删、改、查操作


   增: create table 表名;

   删: drop table 表名

   改:alter table 表名 。。。。

   查:show tables;

4.能够使用SQL对表中数据增、删、改操作


   增: insert into 表名(字段名,...) values(值)   或者  insert into 表名 values(值)

 批量增加:insert into 表名 values(值), (值),(值)...

   删: delete from 表名 where 条件

   改:update 表名 set 字段名=字段值,字段名=字段值,字段名=字段值...  where 条件

5.能够对使用SQL对表中数据基础查询操作


   select * from 表名


6.能够对使用SQL对表中数据条件查询操作


   select * from 表名  where 条件

7.能够对使用SQL对表中数据分组查询操作


   select * from 表名  where 先筛选条件 group by 字段名,字段名,... having 分组后筛选条件

8.能够对使用SQL对表中数据排序查询操作


   select * from 表名  where 先筛选条件 group by 字段名,字段名,... having 分组后筛选条件 order by 字段名 asc(升序,默认)/desc(降序)

9.能够对使用SQL对表中数据分页查询操作


   select * from 表名  where 先筛选条件 group by 字段名,字段名,... having 分组后筛选条件 order by 字段名 asc(升序,默认)/desc(降序) limit 起始索引,每页显示数据行数

10. 约束:


      主键约束:唯一+非空  primary key  ,
                主键自动增长:auto_increment
            非空约束:not null
            唯一约束:unique
            默认约束:添加数据不给值,使用默认值。 default
            外键约束:使用在多表中,维护表关系。
                [constraint 外键约束名] foreign key(作为外键的字段名) references 主表(主键);
                constraint fk_order_id foreign key(order_id) references tb_order(id);

11.多表设计:


     表关系:

           1)一对一:在任意一方将另一方的主键作为外键

           2)一对多:将一方的主键作为多方的外键

           3)多对多:创建中间表,在中间表中将主表的主键作为外键

12.多表查询:


  1)连接查询:

           I:内连接查询:

               a:隐式内连接  select * from 表名1,表名2,... where 条件

               b:显示内连接  select * from 表名1 inner join 表名2 on 条件

           II:外连接查询

               a:左外连接 :查询表公共部分和左表的全部内容

                     select * from 表名1 left outer join 表名2 on 条件

               b:右外连接 :查询表公共部分和右表的全部内容

                     select * from 表名1 right outer join 表名2 on 条件

                 

       2)子查询:

13.能够为表添加主键约束、非空约束、唯一约束


   字段名 数据类型 primary key -- 主键约束

   字段名 数据类型 not null -- 非空约束

   字段名 数据类型 unique -- 唯一约束

14.能够为表添加外键约束


   [constraint 外键约束名] foreign key(中间表的外键字段名) references 主表(主键)

15.能够说出表与表的三种关系


   一对一:将任意一方的主键作为另一方的外键

   一对多:将一方的主键作为多方的外键

   多对多:创建中间表维护两张主表的关系,在中间表中至少含有两个主表的主键作为外键

16.能够使用SQL从多张表中查询数据


  子查询:

       1.单行单列:使用比较运算符作为条件

       2.多行单列:使用in作为条件

       3.多行多列:作为临时表,使用as起别名,可以省略as

   连接查询:

       1.确定几张表

       2.分析条件

       3.分析查询的字段

17.能够说出事务的作用


   主要使用针对增删改语句,要成功都成功,要失败都失败

18.能够使用SQL开启事务、提交事务、回滚事务


   start transaction; -- SQL开启事务

   commit; -- 提交事务

   rollback; -- 回滚事务

19.能够说出JDBC的作用


   使用java代码操作数据库 java database connection

20.能够使用Connection对象管理事务


   conn.setAutoCommit(false); 开启事务

   conn.commit();提交事务

   conn.rollback();回滚事务

21.能够使用JDBC对数据库进行增删改查操作


   1)注册驱动

   2)获取连接

   3)获取发送sql语句的预编译对象

   4)发送sql executeUpdate()

   5) 处理结果

   6)释放资源

22.能够使用ResultSet对象遍历结果集


   while(rs.next()){

       rs.getXxx(第几列或者字段名,如果有别名只能书写别名)

   }

23.能够使用PreparedStatement防止SQL注入


   PreparedStatement pst = conn.prepareStatement(sql);

   给占位符赋值 pst.setXxx(第几个占位符,实际值);

   pst.executeUpdate(); 增删改

   pst.executeQuery();查询

24.能够说出数据库连接池作用


   优化获取连接,将连接放到连接池中,使用的时候直接从连接池中获取连接,使用完毕将连接放到连接池中

25.能够使用Driud数据库连接池获取Connection对象


创建属性集对象

   Properties p = new Properties();

   加载配置文件

   p.load(new FileInputStream(配置文件相对路径));

   获取德鲁伊连接池对象

   DataSource ds=DruidDataSourceFactory.createDataSource(p);

   获取连接

   Connection conn = ds.getConnection();

26.能够获取Connection对象


   DriverManager.getConnection(url,username,password);

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
540 5
|
4月前
|
关系型数据库 MySQL 数据管理
Mysql基础学习day03-作业
本内容包含数据库建表语句及多表查询示例,涵盖内连接、外连接、子查询及聚合统计,适用于员工与部门数据管理场景。
92 1
|
4月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day01
本课程为MySQL基础学习第一天内容,涵盖MySQL概述、安装、SQL简介及其分类(DDL、DML、DQL、DCL)、数据库操作(查询、创建、使用、删除)及表操作(创建、约束、数据类型)。适合初学者入门学习数据库基本概念和操作方法。
203 6
|
4月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day02-作业
本教程介绍了数据库表的创建与管理操作,包括创建员工表、插入测试数据、删除记录、更新数据以及多种查询操作,涵盖了SQL语句的基本使用方法,适合初学者学习数据库操作基础。
111 0
|
4月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day03
本课程为MySQL基础学习第三天内容,主要讲解多表关系与多表查询。内容涵盖物理外键与逻辑外键的区别、一对多、一对一及多对多关系的实现方式,以及内连接、外连接、子查询等多表查询方法,并通过具体案例演示SQL语句的编写与应用。
127 0
|
4月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day01-作业
本教程包含三个数据库表的创建练习:学生表(student)要求具备主键、自增长、非空、默认值及唯一约束;课程表(course)定义主键、非空唯一字段及数值精度限制;员工表(employee)包含自增主键、非空字段、默认值、唯一电话号及日期时间类型字段。每个表的结构设计均附有详细SQL代码示例。
99 0
|
4月前
|
SQL 关系型数据库 MySQL
Mysql基础学习day02
本课程为MySQL基础学习第二天内容,涵盖数据定义语言(DDL)的表查询、修改与删除操作,以及数据操作语言(DML)的增删改查功能。通过具体SQL语句与实例演示,帮助学习者掌握MySQL表结构操作及数据管理技巧。
176 0
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
163 3
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
1092 56
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
576 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。

推荐镜像

更多