MySQL基础(第一部分)(基础概念)

数据库的基本概念

  1. 数据库的英文单词:DataBase 简称DB
  2. 什么是数据库?
    用来存储和管理数据的仓库
  3. 数据化的特点
    1. 持久化存储数据。
    2. 方便存储和管理数据
    3. 使用了统一的方法操作数据库 SQL
  4. 常见的数据库软件
    1. Oracle
    2. MySQL
    3. DB2
    4. SQLServer

MySQL

MySQL安装卸载
MySQL配置
mySQL服务启动
  1. 启动服务

    net start mysql
    
  2. 关闭服务

    net stop mysql
    
mySQL登录退出
  1. 登录
mysql -u用户名 -p密码;
mysql -u用户名 -p;
mysql --host=ip --user=用户名 --password=链接目标的密码
MySQL目录

​ 配置文件:my.ini

SQL
什么是SQL?

Strctured Query Language:结构化查询语言
其实就是定义了操作所有关系型数据库的规则,每一种数据库操作的方式都存在不一样的地方

SQL通用语法
  1. SQL语句可以单行或多行书写,分号结尾;
  2. 可使用空格和缩进来增强语句的可读性;
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写;
  4. 3种注释
    1. 单行注释 – 注释内容 或# 注释内容
    2. 多行注释 /注释内容/
SQL分类
  1. DDL(操作数据库表)
  2. DML(增删改表中的数据)
  3. DQL(查询表中的数据)
  4. DCL(授权)
DDL:操作数据库,表
操作数据库:CRUD
  1. C(create):创建

    1. 创建数据库

      create database 数据库名称;

    2. 创建数据库前判断该数据库是否存在,存在则不创建,不存在则创建

      create database if not exists 数据库名称;

    3. 创建数据库并且设置字符集

      create database 数据库名称 character set 字符集名称;

  2. R(retrieve):查询

    1. 查询所有数据库的名称

      show databases;

    2. 查看某个数据库的字符集(查询创建数据库的SQL语句)

      show create database 数据库名称;

  3. U(update):修改

    1. 修改数据库字符集

      alter database 数据库名称 charater set 字符集名称;

  4. D(delete):删除

    1. 删除数据库

      drop database 数据库名称;

    2. 删除前判断该数据库是否存在,存在再删除

      drop database if exists 数据库名称

  5. 使用数据库

    1. 查询当前正在使用的数据库名称

      select database();

    2. 使用数据库

      use 数据库名称

操作表
  1. C(create):创建

    1. 语法

      create table 表名(
      	列名1 数据类型1,
          列名2 数据类型2,
          列名3 数据类型3,
          ......
          列表n 数据类型n
          /*最后一行不需要加,逗号*/
      )
      
    2. 数据库类型

      1. int :整数类型
      2. double:小数类型 double(这个小数的位数,小数后面保留几位)
      3. date:日期,只包含年月日
      4. datetime:日期,包含年月日时分秒
      5. timestamp:时间戳类型,如果不给这个类型赋值,会默认使用当前的系统时间,自动赋值
      6. varchar:文本型,按照字符设置大小
    3. 创建表

      create table student(
      	id int,
          name varchar(32),
          age int,
          score double(4,1),
          birthday date,
          insert_time timestamp
      )
      
    4. 复制表

      create table 新表 like 要复制的表;
      
  2. R(Retrieve):查询

    1. 查询某个数据库中所有的表名称

      show table;

    2. 查询表结构

      desc 表名

  3. U(update):修改

    1. 修改表名

      alter table 表名 rename to 新的表名;
      
    2. 修改表的字符集

      alter table 表名 character set 字符集名称;
      
    3. 添加一列

      alter table 表名 add 列名 数据类型;
      
    4. 修改列名称,类型

      1. 更改列名称,类型;

        alter table 表名 change 旧列名 新列名 新列名的数据类型;
        
      2. 只更改类型;

        alter table 表名 modify 列名 新数据类型;
        
    5. 删除列

      alter table 表名 drop 类名;
      
  4. D(delete):删除

    1. 删除表

      drop table 表名;

    2. 删除表之前先判断

      drop table if exists 表名;

DML:增删改表中数据
  1. 添加数据

    1. 基本语法

      insert into 表名(列名1,列名2,列名3.....列名n) values(值1,值2,值3,值4...值n);
      

      列名和值要一一对应

      如果表名后,不定义列名,则默认给所有列添加值

      insert into 表名 values(值1,值2,值3,值4...值n);
      

      除了数字类型,其他类型都需要使用引号(建议使用单引号)引起来

  2. 删除数据

    1. 基本语法

      delete from 表名 where 条件;
      delete from 表名;
      

      如果不添加where 条件,则删除表中所有记录—不推荐使用,有多少条记录,就会执行多少次操作

      第二种删除数据的方法

      这种方法会删除表,然后在创建一个一模一样的空表

      truncate table stu;
      
  3. 修改数据

    1. 基本语法

      update 表名 set 列名1 = 值1 , 列名2 = 值2, ..... [where 条件]:
      
      update stu set age = 17 where id = 3;
      update stu set age = 18,score = 100 where 
      

      如果不加任何条件,则会将表中所有记录全部修改

DQL:查询表中的记录
select * from 表名;
  1. 基础查询

    1. 语法
  2. 排序查询

    1. 语法

      select * from 表名 order by 排序字段1 排序方式1,排序字段2 排序方式2
      
      //升序排列
      order by 字段 ASC;
      //降序排列
      order by 字段 DESC;
      

      排序方式:

      ​ ASC:升序,默认的

      ​ DESC:降序。

      如果有多个排序条件,则前面的条件值一样时,才会判断第二条件

  3. 聚合函数(将一列数据作为一个整体,进行纵向的计算)—类似求和,求平均数

    1. count:计算个数

      select count(聚合字段) from 表名;
      select count(ifnull(聚合字段,0)) from 表名;
      select count(*) from 表名
      

      null值不会被计算出来,尽量选择非空字段,或者主键

    2. max:计算最大值

      select max(聚合字段)from 表名;
      
    3. min:计算最小值

      select min (聚合字段) from 表名;
      
    4. sum:计算和

      select sum(聚合字段) from 表名;
      
    5. avg:计算平均值

      select avg(聚合字段) from 表名;
      

      聚合函数的计算,会排除null值

  4. 分组查询

    1. 语法

      group by 分组字段
      
      select 分组字段,聚合函数
      
    2. 注意

      1. 分组之后查询的字段,分组字段,聚合函数
      2. where 和 having 的区别
        1. where在分组之前进行限定,如果不满足条件,则不参与分组 ,having在分组之后进行限定,如果不满足结果,则不会被查询出来
        2. where后不可以跟聚合函数,having可以进行聚合函数的判断
  5. 分页查询

    1. 语法 limit 开始的索引,每页查询的条数

    2. 公式 开始的索引 = (当前的页码-1)*每页显示的条数

      每页显示3条记录
      SELECT * FROM 表名 LIMIT	0,3;
      SELECT * FROM 表名 LIMIT	3,3;
      SELECT * FROM 表名 LIMIT	6,3;
      SELECT * FROM 表名 LIMIT	9,3;
      

      limit是一个mySQL方言,只能在MySQL中使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值