MySQL数据库基本知识点总结

MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。以下是MySQL数据库的一些基本知识点总结:

目录

1. 数据库的创建和删除

- 创建数据库:

- 删除数据库:

2. 表的创建和删除

- 创建表:

- 删除表:

3. 数据的插入、更新和删除 

-插入数据:

- 更新数据:

- 删除数据:

4. 单表的查询

-基础查询:

-条件查询 :

运算符

比较条件的组合使用

between关键字

in()关键字

like关键字 

is null关键字

-高级查询:

distinct关键字

order by子句

limit关键字

常用聚合函数 

-分组查询:

group by 子句

having子句

5. 多表的查询

-连接查询:

内连接:

 -子查询:

6.视图

-创建视图

 -修改视图

-删除视图 

7.函数 

-自定义函数

 -条件函数:

8.表的约束简介

-域完整性

-实体完整性

-参照完整性


1. 数据库的创建和删除

- 创建数据库

create database 数据库名;

例:创建数据库mydatabase

create database mydatabase;

- 删除数据库

drop database 数据库名;

例:删除数据库mydatabase

drop database mydatabase;

2. 表的创建和删除

- 创建表

create table 表名(列名1 数据类型, 列名2 数据类型, 列名3 数据类型, ...);

例:创建mytable表

 create table mytable(

        id int(6)  auto_increment primary key,

        firstname varchar(30) not null,

        lastname varchar(30) not null,

        email varchar(50),

 );

- 删除表

drop table 表名; 

例:删除mytable表

drop table mytable;

3. 数据的插入、更新和删除 

-插入数据:

1.指定字段名

  •  insert into 表名 (字段名1, 字段名2, 字段名3, ...) values(值1, 值2, 值3, ...);
  • insert into 表名 (字段名1, 字段名2, 字段名3, ...) values(值1, 值2, 值3, ...),(值1, 值2, 值3, ...);

例:在mytable插入firstname为“John”,lastname为“Doe”,email为“[email protected]

insert into mytable (firstname, lastname, email) values('John', 'Doe', '[email protected]'); 

 2.不带字段名

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

- 更新数据

update 表名 set 字段名1 = 值1, 字段名2 = 值2, ... where 条件表达式;

例:将mytable 中id为1的email改成[email protected]

update mytable set email = '[email protected]'

where id = 1;

- 删除数据

delete from 表名 where 条件表达式; 

例:将mytable 中id为1的数据删除

delete from mytable where id = 1;

4. 单表的查询

-基础查询:

select *[ 字段名1,字段名2... ]from 表名;

例:查询mytable表中所有记录的所有列 

select * from mytable;

例:查询mytable中firstname、lastname

select firstname,lastname from mytable;

-条件查询 :

运算符

运算符 示例
= 等于
>

大于

< 小于
>= 大于等于
<= 小于等于
!= 不等于

比较条件的组合使用

运算符 描述
and 逻辑与,操作数全部为真,则结果为1,否则为0
or 逻辑或,操作数中只要有一个为真,则结果为1,否则为0
not 逻辑非,操作数为0,则结果为1,操作数为1,则结果为0

between关键字

运算符 示例
between...and... 在指定的闭区间范围内(包含边界)
not between...and... 不在指定的闭区间范围内

in()关键字

函数名 描述
in() 在给定的集合内
not in() 不在给定的集合内

like关键字 

运算符 示例
like '匹配模式' 获取匹配到的数据(用于模糊匹配)
not like '匹配模式' 获取不到的数据

通配符:

%  ------代表任意多个字符

_(下划线) -----代表一个任意字符

is null关键字

运算符 示例
is null 比较一个数据是否是null
is not null 比较一个数据是否不是null

select *[ 字段名1,字段名2... ]from 表名

where 条件表达式;

-高级查询:

select [distinct] * [字段名1,字段名2,字段名3,.......]
from 表名
[where 条件表达式1]
[group by 字段名[having 条件表达式 2]]
[order by 字段名[asc/desc]]

[limit 记录数];

distinct关键字

去除查询记录中重复的数据可使用distinct(去重复值子句)去除重复记录(消除重复行,只保留一条).

语法:distinct 字段名1;

order by子句

使用order by(排序子句)对查询出的数据进行上升下降的排序MySQL提供了两种排序的方式,分别为单字段排序和多字段排序
说明: asc升序,desc降序,缺省值为升序

  • 单字段排序 (单重排序)

        语法: order by 字段名 [asc/desc]

  • 多字段排序(多重排序)

        语法: order by 字段名1 [asc/desc],字段名2 [asc/desc]

        说明: 多字段排序首先按照第一字段值排序,当第一字段的值相同时,再按照第二字段值进行排序,依次类推。 

limit关键字


关于记录数的限量问题:
对于一次性查询出的大量记录,不仅不便于阅读查看,还会浪费系统效率MySQL中提供了一个关键字limit(限量子句),可以限定记录的数量,也可以指定查询从哪一条记录开始(通常用于分页)。

语法: limit[偏移量,]记录数

例:查询mydb表中第6-10行记录

select * from mydb limit 5,5;

常用聚合函数 

函数 描述
count(字段名) 返回参数字段的数量,参数可以使用*,即count(*)
sum(字段名) 返回参数字段之和
avg(字段名) 返回参数字段的平均值
max(字段名) 返回参数字段的最大值
min(字段名) 返回参数字段的最小值

-分组查询:

group by 子句


分组统计:在应用中,通常需要对数据按照某个或多个字段进行分组统计

语法: group by 字段名

having子句

分组筛选:对查询的数据分组时,可以利用HAVING子对分组筛选

语法如下:

select 查询列表 from 表名

where 条件表达式

group by 字段名

having 条件表达式

5. 多表的查询

-连接查询:

内连接:

语法:

select 查询列表

from 表1 [inner] join 表2

on 表2.公共列=表1.公共列;

MySQL数据库基本知识点总结_第1张图片

 -子查询:

子查询是指在一个查询语句中嵌套另一个查询语句,用于获取更复杂的查询结果。

以下是一个使用子查询的例子: 假设我们有两个表格,一个是学生表格,一个是成绩表格。

学生表格包含学生的ID和姓名,成绩表格包含学生的ID和成绩。

我们想要查询出所有成绩大于80分的学生的姓名和成绩,可以使用以下的SQL语句:

select name, score from student

where id in(select id from score where score > 80);

6.视图
 

MySQL数据库中的视图是一种虚拟的表,它是基于一个或多个表的查询结果集。视图并不实际存储数据,而是在查询时动态生成结果集。

-创建视图

语法如下:

 create view 视图名

as

select 语句;

 -修改视图

语法如下:

 alter view 视图名

as

select 语句;

-删除视图 

语法如下:

drop view 视图名

7.函数 

-自定义函数

创建自定义函数

语法如下:

delimiter 新语句结束符号[@@ / ## / $$]

create function 函数名(参数,数据类型)

return 返回值类型

begin

SQL语句

return 返回值;

end

新语句结束符号[@@ / ## / $$]

delimiter;

删除自定义函数:

drop function 名字 

 -条件函数:

语法:

if(表达式,表达式1(真),表达式2(假));

8.表的约束简介

-域完整性

关键字 说明
not null 非空约束
default 默认值约束

-实体完整性

关键字 说明
primary key 主键约束(唯一标识)
unique 唯一约束
auto_increment 自增约束

-参照完整性

关键字 说明
foreign key 外键约束

你可能感兴趣的:(mySQL,数据库,mysql,sql)