Python基础(八)——MySql数据库

发布于:2024-09-19 ⋅ 阅读:(150) ⋅ 点赞:(0)

一.数据库

【库——>表——>数据】

借助数据库对数据进行组织存储,借助SQL语言对数据库、数据进行操作管理

Mysql数据库

下载:https://www.mysql.com/

查看是否安装配置成功:

在这里插入图片描述

安装DBeaver用于Mysql数据库图形化

安装:https://dbeaver.io/

DBeaver用于数据库图形化

二.SQL语言

结构化查询语言(Structured Query Language),用于访问和处理数据库的标准计算机语言。

基于功能分为四类:

  • 数据定义:DDL(Data Definition Language)
  • 数据操纵:DML(Data Manipilation Language)
  • 数据控制:DCL(Data Control Language)
  • 数据查询:DQL(Data Query Language)

(部分)基础列类型:

  • int 整数
  • float 浮点数
  • varchar(长度) 文本,长度为数字,做最大长度限制
  • data 日期类型
  • timestamp 时间戳类型

特点:

  • 大小写不敏感
  • 可以单行或多行书写,以分号结束一条语句
  • 字符串只支持用单引号表示

命令

代码 作用
– 注释内容 单行注释,–后一定要有一个空格
# 注释内容 单行注释,#后可以不加空格,最好加上
/* 注释内容 */ 多行注释
DDL操作:
mysql -uroot -p 打开数据库
show databases; 查看数据库
create database 数据库名 [charset UTF8]; 创建数据库,中括号内容表示可写可不写
drop database 数据库名; 删除数据库
select database(); 查看当前使用的数据库
use 数据库名; 使用某数据库
drop table 表名; 删除表
drop table if exists 表名; 删除表
create table 表名(列名称 列类型,列名称,列类型,……); 创建表
show tables; 查看数据库内有哪些表
exit 退出数据库环境
DML操作:
insert into 表[(列1,列2,……)] values(值1,值2,……)[,(值1,值2,……),……]; 数据插入,[]中内容代表可省略
delete from 表名 [where 条件判断]; 数据删除,[]中内容代表可省略。条件判断:(列 操作符 值)操作符包括:=、<、>、>=、<=、!=
updata 表名 set 列=值 [where 条件判断]; 数据更新,[]中内容代表可省略。条件判断同数据删除中类似
DQL操作:
select 字段列表 from 表 [where 条件判断]; 数据查询,从表中选择某些列进行展示,其中字段列表可以使用*表示所有列。
select 列或聚合函数或* from 表 [where 条件判断] group by 列; 分组聚合,聚合函数有:sum(列) ——求和、avg(列)——求平均值、min(列)——求最小值、max(列)——求最大值、count(列或*)——求数量。语法限制:group by中包含的列才能在非聚合函数中出现。
select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc]; 结果排序,[]中内容代表可省略。asc代表升序(默认为升序),desc代表降序;
select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc] limit n[,m]; 结果分页查询限制,[]中内容代表可省略。

执行顺序:

from—>where—>group by或聚合函数—>select—>order by—>limit

from和select必须写,其他可按需求省略

use world;

create table student(
	name varchar(10),
	age int,
	id int
);
# 插入数据
insert into student(age) values(20),(18),(22),(30);
insert into student(name,id) values('li',20240001),('wang',20240002),('liu',20240003);

/*
输出结果:(使用文本显示)
name|age|id      |
----+---+--------+
    | 20|        |
    | 18|        |
    | 22|        |
    | 30|        |
li  |   |20240001|
wang|   |20240002|
liu |   |20240003|
*/

# 删除数据
delete from student where age >= 18;
/*
输出结果:(使用文本显示)
name|age|id      |
----+---+--------+
li  |   |20240001|
wang|   |20240002|
liu |   |20240003|
*/

# 更新数据
update student set name = 'qi' where id = 20240001;
/*
输出结果:(使用文本显示)
name|age|id      |
----+---+--------+
qi  |   |20240001|
wang|   |20240002|
liu |   |20240003|
*/

# 查询数据
select name,id from student;
/*
输出结果:(使用文本显示)
name|id      |
----+--------+
qi  |20240001|
wang|20240002|
liu |20240003|
*/
select name,id from student where id > 20240001;
/*
输出结果:(使用文本显示)
name|id      |
----+--------+
wang|20240002|
liu |20240003|
*/

# 查询student表中age大于20的数据,并按照age升序排序
select * from student where age > 20 order by age asc; 

# 查询student表中age大于20的数据,并按照age升序排序,显示前4条数据
select * from student where age > 20 order by age asc limit 4;

# 查询student表中age大于20的数据,并按照age升序排序,显示第2条后的4条数据
select * from student where age > 20 order by age asc 
limit 2, 4;

记录学习过程的笔记,欢迎大家一起讨论,会持续更新


网站公告

今日签到

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