MySQL

目录

1、MySQL的定义

2、数据库的操作

[2.1 创建数据库](#2.1 创建数据库)

[2.2 查看数据库](#2.2 查看数据库)

[2.3 选中数据库](#2.3 选中数据库)

[2.4 删除数据库](#2.4 删除数据库)

3、数据表的操作

[3.1 创建表](#3.1 创建表)

[3.2 查看所有的表](#3.2 查看所有的表)

[3.3 查看表结构](#3.3 查看表结构)

[3.4 删除表](#3.4 删除表)

4、MySQL的增删查改

[4.1 增加数据](#4.1 增加数据)

[4.2 查询数据](#4.2 查询数据)

[4.2.1 全列查询](#4.2.1 全列查询)

[4.2.2 指定列查询](#4.2.2 指定列查询)

[4.2.3 表达式查询](#4.2.3 表达式查询)

[4.2.4 别名查询](#4.2.4 别名查询)

[4.2.5 去重查询](#4.2.5 去重查询)

[4.2.6 排序查询](#4.2.6 排序查询)

[4.2.7 条件查询](#4.2.7 条件查询)

[4.2.8 分页查询](#4.2.8 分页查询)

[4.3 修改数据](#4.3 修改数据)

[4.4 删除数据](#4.4 删除数据)


1、MySQL的定义

数据库是一种管理数据的软件,主要是对存储到其中的数据进行增删查改,数据库中具体的软件有 Oracle、MySQL、SQLserver、SQLite、Redis等数据库,其中Oracle、MySQL、SQLserver、SQLite都是**"关系型数据库",使用表** 来组织数据的,Redis属于**"非关系型数据库",更加灵活,使用key-value这种键值对组织数据的。
MySQL是一种
"客户端-服务器"**结构的软件

客户端(client):主动发起请求的一方

服务器(server):被动接收请求的一方

客户端和服务器之间通过网络进行通信的

客户端给服务器发起的数据称为**"请求"**(request)

服务器给客户端返回的数据称为**"响应"**(response)
MySQL的本质是服务器,在服务器中负责存储和管理数据(存储在硬盘中)。

内存和硬盘存储数据的区别:

1、内存存储速度快,硬盘存储速度慢

2、内存空间小,硬盘空间大

3、内存的价格贵,硬盘的价格便宜

4、内存中存储的数据是易失的,硬盘中存储的数据是持久的

2、数据库的操作

对数据库操作主要是两种方式

1、命令行客户端

2、图形化客户端

此处使用命令行客户端来操作MySQL数据库,操作数据库的命令,也称为"SQL"语句,也可以理解成一种编程语言。

2.1 创建数据库

输入密码登录数据库


创建数据库

**create database + 数据库的名称;**就可以创建一个数据库

注意事项:

1、像create、database这样的的单词,在SQL语句中有特定的含义,称为"关键词"

数据库名、表名、列名都不能和关键字重复

2、SQL语句中的关键字不区分大小写

3、不能创建重复的数据库,创建重复的数据库会发生报错

为了避免报错可以指定一下

create database if not exists + 数据库的名称;

4、创建数据库时可以手动指定字符集

character set +字符集名字 / charset + 字符集名字


这样就成功创建出一个数据库

2.2 查看数据库

列出当前MySQL服务器上一共有哪些数据库

show databases;


2.3 选中数据库

数据库中最关键的操作就是对表里的数据进行增删查改,表是从属于数据库的,先选中数据库,才能操作数据库中的表。

use + 数据库名称;


2.4 删除数据库

drop database + 数据库名称;

删除操作,删除的不仅仅是这个数据库,也删除了这个数据库中所有的表和表中所有的数据。


3、数据表的操作

针对数据表的操作,前提是选中数据库。一个表中包含多个行,每一行也称为一条记录。一个行里可以有很多列,每一列称为一个字段,每一列都是有类型的。

此处指出常用的类型

|-------|--------------------|-------------------------------------|
| 整数类型 | INT、INTEGER | 占用4个字节 |
| 浮点数类型 | FLOAT、DOUBLE | 分别为4个字节和8个字节 |
| 定位数类型 | DECIMAL(M,D) | 占用M+2个字节 最大取值范围与DOUBLE相同,有效范围由M,D决定 |
| 字符串类型 | VARCHAR(M) | M为0-65535之间的整数 表示该类型最多存储几个字符 |
| 时间类型 | TIMESTAMP,DATETIME | 分别为4个字节和8个字节 |

3.1 创建表

create table + 表名(列名 类型,列名 类型...);

列如:创建一个school数据库,在这个数据库中创建一个学生表


3.2 查看所有的表

查看当前数据库所有的表

show tables;


3.3 查看表结构

desc + 表名;

其中Field为列(类型)


3.4 删除表

drop table + 表名;


4、MySQL的增删查改

MySQL的增删查改,实际上就是对表中的数据进行增删查改。

4.1 增加数据

普通插入

insert into + 表名 values(值,值);

此处的值要和列相匹配

例如:

create table student (id int,name varchar(20));

insert into student values (1,'zhangsan');


指定列插入

insert into + 表名(列名,列名...) values(值,值...);


一次插入多行记录

insert into + 表名 values (值,值...),(值,值...);


查询插入结果

select * from + 表名;


4.2 查询数据

4.2.1 全列查询

select * from +表名;

把表中所有的行和列都查询出来

4.2.2 指定列查询

select 列名 列名...from +表名;


4.2.3 表达式查询

在查询的时候,写成由列名构成的表达式,把这一列的所有行都带入到表达式中,参与运算。

先创建一个表,表示学生成绩

使用表达式查询查询到每个学生的总成绩

select name,language+math+english from STUresult;


4.2.4 别名查询

查询的时候可以给列、表达式、表指定一个别名

select 表达式 as 别名 from+表名;


4.2.5 去重查询

使用distinct 修饰某一个列/多个列,使用相同的行,只会保留一个。

select distinct 列名 from 表名;

先创建一个表,都放入数字1

普通查询

进行去重查询


4.2.6 排序查询

查询的时候进行排序

select 列名(要展示的列) from 表名 order by 列名(排序的列)asc(升序)/desc(降序);

普通查询

排序查询


4.2.7 条件查询

会按照具体的条件,对数据进行查询。

select 列名 from 表名 where 条件;

例如:查询数学成绩为96的学生


4.2.8 分页查询

使用limit可以限制这次查询最多能查出来多少结果

只查询前两条记录

select * from STUresult limit 2;

偏移量

在限制查到多少条记录后,可以在这些记录后偏移查询。

select * from STUresult limit 3 offset 1;


4.3 修改数据

update 表名 set 列名=值(要执行的操作)where 条件;

比如:修改zhangsan的数学为99;


4.4 删除数据

delete from 表名 where 条件/ order by / limit;

不指定任何条件就是删除整个表


相关推荐
天天要nx10 分钟前
D64【python 接口自动化学习】- python基础之数据库
数据库·python
精进攻城狮@43 分钟前
Redis(value的数据类型)
数据库·redis
爪哇学长1 小时前
SQL 注入详解:原理、危害与防范措施
xml·java·数据库·sql·oracle
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
mybatisPlus打印sql配置
数据库·sql
弗拉唐1 小时前
将Excel文件的两个表格经过验证后分别读取到Excel表和数据库
数据库·excel
刘艳兵的学习博客2 小时前
刘艳兵-DBA033-如下那种应用场景符合Oracle ROWID存储规则?
服务器·数据库·oracle·面试·刘艳兵
simpleGq2 小时前
Redis知识点整理 - 脑图
数据库·redis·缓存
NiNg_1_2342 小时前
关系型数据库和非关系型数据库详解
数据库·oracle·nosql
paopaokaka_luck2 小时前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
python资深爱好者2 小时前
NoSQL数据库与关系型数据库的主要区别
数据库·oracle·nosql