0
点赞
收藏
分享

微信扫一扫

探索规律:Python地图数据可视化艺术

岛上码农 2023-08-18 阅读 10

MYSQL

一、数据库分类(了解):

1. 关系型数据库:

2. 非关系型数据库:

二、数据库中的基本概念:

1. 数据库:

2. 数据表:

3. 列、行:

4. 主键:

5. 外键:

三、对于数据的基本操作:

1. 创建数据库(create)

例如:创建一个名为student的数据库

//eg:创建一个名为student的数据库
create database student;

2. 删除数据库 (drop)

例如:删除一个名为student的数据库

//eg:删除一个名为student的数据库
drop database student;

3. 查看所有的数据库(已有)(show):

show databases;//显示所有数据库

四、对于数据的基本操作:

1. 增(create)

例如:创建一个名为stu的数据表(id,姓名,成绩);

//eg:创建一个名为student的数据表(id,姓名,成绩)
create table student(id int,name varchar(20),grade decimal(3,1));

2. 删 (drop)

例如:删除一个名为student的数据表;

//eg:删除一个名为student的数据表
drop table stu;

3. 查看表名(show/desc)

例如:展示stu数据库里的所有表名:

//eg:展示stu数据库里的所有表名:
show tables;

例如:查看books表的结构

desc books;

4. 改(alter)

4.1. 删除列

例如:删除student表中的grade列

//eg:删除student表中的grade列
alter table student drop grade;

4.2. 增加列

例如:增加student表中的grade列

//eg:增加student表中的grade列
alter table student add grade decimal(3,1);

例如:将student表中的grade改为成绩

//eg:将student表中的grade改为成绩
alter table student change grade '成绩';

例如:创建student表中的名字为索引

//eg:创建student表中的名字为索引
alter table student add index index_name(name);
  • 删除索引

例如:删除student表中的名字为索引

//eg:删除student表中的名字为索引
alter table student drop index index_name(name);
  • 修改表名

例如:将student表的表名改成students

//eg:将student表的表名改成students
alter table student rename students;

五、对数据表数据的基本操作:

1. 首先要对该数据表的数据库进行选中操作(use)

(否则无法进行该数据库的操作)

例如:假设这里的数据库名位stu;

//eg:假设这里的数据库名位stu;
use stu;

2. 增(insert)

例如:在students表中插入(1,‘王五’,85.5);
注 : varchar类型可以是单引号/双引号

//eg:在students表中插入(1,'王五',85.5);
//法一:
insert into students values(1,'王五',85.5);
insert into students values(1,"王五",85.5);
//法二:
insert into students(name,id,grade) values('王五',1,85.5);

例如:将students表中id为1的(姓名,成绩)插入到students表中新的(姓名成绩)

eg:将students表中id为1(姓名,成绩)插入到students表中新的(姓名成绩)
insert into stutends(name,grade) (select name,grade from students where id = 1);

3. 删(delete)

//(删除的是符合该条件的一条条记录)
//eg:删除成绩为0的记录
delete from students where grade = 0;
//(删除全部数据)
delete from students;

4. 查(select)

例如:查询students中成绩大于50的全部学生信息

//eg:查询students中成绩大于50的全部学生信息
select * from  students where grade>50;

例如:查询students中成绩大于50的学生姓名

//eg:查询students中成绩大于50的学生姓名
select name from students where grade>50;

5. 改(update)

例如:将students表中序号为1的学生的成绩改为97;

//eg:将students表中序号为1的学生的成绩改为97;
update students set grade = 97 where id = 1;

六、字符集

七、对表数据的进阶操作

(提前)结论:所有的查询条件产生的只是一个结果集,不会影响内存里的数据

1. as的使用方法

例如:将books中的id显示为序号

//eg:将books中的id显示为序号
//法一:
select id as '序号',name,author,price,kinds,year from books;
//法二:
select name,author,price,kinds,year,id as '序号' from books;

验证: 内存里的数据没变(即id没变)
在这里插入图片描述

2. distinct的使用方法

例如 : 显示books中的year(去重)

//eg : 显示books中的year(去重)
select distinct year from books;

如果distinct后面接了很多的字段,那就将这些字段作为一组字段,并且显示不重复的组字段.

3. order by 的使用方法

例如 : 在books表中,按照price的高低排序

//eg: 在books表中,按照price的高低排序
select * from books order by price;

[默认升序]
在这里插入图片描述
[降序]
在这里插入图片描述

4. where 的使用方法

4.1. like 模糊匹配

注意: like前面可以加not 表示否定.

注意: like 后面一定要加 ’ ’ 或者 " " ;

例如:在books表中,找到唐xxx的author名在这里插入图片描述

4.2. between … and …

例如: 在books表中,找出价格在[50,500]之间的书

//eg: 在books表中,找出价格在[50,500]之间的书
select * from books where price between 50 and 500;

在这里插入图片描述

4.3. and / or

例如: 在books表中,找出价格大于100并且(可换成或者)在2000以后发行的书

//eg:在books表中,找出价格大于100并且在2000以后发行的书
select * from books where price > 100 and year > 2000;

在这里插入图片描述

4.4. in ( … )

例如: 在books表中,找出价格是50或者500之间的书

//eg:在books表中,找出价格是50或者500之间的书
select * from books where price in(50,500);

在这里插入图片描述

4.5. <==> 的使用方法

例如: 找出books表中,author为NULL的信息;

select * from books where author <=> null;

在这里插入图片描述

5. limit 的使用方法

例如: 显示books表中的3条数据;

//eg:显示books表中的3条数据;
select * from books limit 3;

在这里插入图片描述
例如: 显示books表中的3条数据并从第二条数据开始(即下表为1的数据);

//eg:显示books表中的3条数据并从第二条数据开始(即下表为1的数据);
select * from books limit 3 offset 1;

在这里插入图片描述

5.1. group by(where和having)

例如:显示出一班和二班的总成绩是多少?

select class,sum(score) from student group by class;

在这里插入图片描述

八、数据库约束

1. not null

例如: 创建一个book表,设置其中的书名(name)字段为不为空

create table book(
id int,
name varchar(20) not null,
author varchar(20));

2. unique

例如: 创建一个book表,设置其中的id字段为唯一

create table book(
id int unique,
name varchar(20) ,
author varchar(20) );

3. default

例如: 创建一个book表,设置其中的作者字段为默认"未知"

create table book(
id int,
name varchar(20) ,
author varchar(20) default "未知");

4. primary key

create table student(
sid int not null primary key,
gid int not null ,
name varchar(20),
age int,
grade int);

5. foreign key

create table student(
sid int not null primary key,
gid int not null foreign key references 表名(字段),
name varchar(20),
age int,
grade int);

注意!!!查看外键名: show create table 表名 ;
在这里插入图片描述

九、聚合函数

1. count(…)

例如:计算student表中,班级2的同学有几个

//eg::计算student表中,班级2的同学有几个
select class, count(class) from student group by class;

在这里插入图片描述

2. sum(…)

例如: 求各班同学的总成绩

//例如: 求各班同学的总成绩
select class,sum(score) as sum from student group by class;

在这里插入图片描述

3. avg(…)

例如 : 求各班同学成绩的平均分

//例如 : 求各班同学成绩的平均分
select class,avg(score) as sum from student group by class;

在这里插入图片描述

十、 联合查询

1. 多表查询

//格式1:(两/多表连接',')
select 列名 from 表名1,表名2 where (将表1的字段与表2的相连接)
//格式2:(两表连接join)
select 列名 from 表名1 join2 on (字段连接)
//格式3:(多表连接join)
select 列名 from 表名1 join2 on (字段连接) join3 on 条件

2. 内外连接

2.1. 内连接(用的最多)

2.2. 左外连接

2.3. 右外连接

3. 自连接

select * from stu_class as s1,stu_class as s2 where s1.id = s2.id and s1.class = s2.class ;

4. 子查询

//格式:
select * from1 where id = (select id from2 where 条件);

5. 合并查询

5.1. union

//格式:
select * fromwhere 条件 union select * fromwhere 条件;

6. 索引

6.1. 查看索引

6.2. 创建索引

6.3. 删除索引


感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!
举报

相关推荐

0 条评论