MySQL

发布于:2024-10-15 ⋅ 阅读:(119) ⋅ 点赞:(0)

目录

1、MySQL的定义

2、数据库的操作

2.1 创建数据库

2.2 查看数据库

2.3 选中数据库

2.4 删除数据库

3、数据表的操作

3.1 创建表

3.2 查看所有的表

3.3 查看表结构

3.4 删除表

4、MySQL的增删查改

4.1 增加数据

4.2 查询数据

4.2.1 全列查询

4.2.2 指定列查询

4.2.3 表达式查询

4.2.4 别名查询

4.2.5 去重查询

4.2.6 排序查询

4.2.7 条件查询

4.2.8 分页查询

4.3 修改数据

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;

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



网站公告

今日签到

点亮在社区的每一天
去签到