【web开发】5.Mysql及python代码执行数据库操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、MYSQL
  • 二、MySQL管理
    • 查看已有数据库
    • 创建数据库
    • 删除数据库
    • 进入数据库
    • 创建表
    • 删除表
    • 展示表的行列
    • 插入数据
    • 查看表中的数据
    • 删除数据
    • 修改数据
  • 三、python代码执行数据库操作
    • 动态创建
    • 查询数据
    • 删除数据
    • 修改数据


一、MYSQL

数据库相当于我们常用的文件夹,数据表相当于我们常用说的文件,文件夹中存放文件,即数据库中存放数据表。当要创建一个新表时,需要选定某个数据库才能进行创建。

二、MySQL管理

查看已有数据库

show databases;  

在这里插入图片描述

创建数据库

create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;

create database demo2 DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;

在这里插入图片描述

删除数据库

drop database 数据库名字;

 drop database demo2;

在这里插入图片描述

进入数据库

use 数据库名字;

 use demo1;

在这里插入图片描述
注意:查看数据表(show tables;);创建数据表(create table 数据表名),需要先进入文件夹再查看,即use 连接使用。

创建表

create table tb11(
-> id int primary key, //主键 不能为空,表示唯一标识
-> name varchar(16) not null, //不能为空,(16不能少)
-> age int null //可以为空 (最后一项不能有”,“)
-> )default charset=utf8;

create table tb11(
id int primary key, 
name varchar(16) not null,
age int null
)default charset=utf8;

注意: -> id int auto_increment primary key, //自增 1 2… √
在这里插入图片描述

删除表

drop table 表名称;

 drop table tb2;

在这里插入图片描述

展示表的行列

desc 表名称;

desc tb1;

在这里插入图片描述

插入数据

insert into 表名字(name,age) values(“婵婵”,22),(“ww”,19);

insert into tb1(id,name,age) values(1,"aa",20),(2,"bb",21);

在这里插入图片描述

查看表中的数据

select * from 表名字;

select * from tb1;

在这里插入图片描述

删除数据

delete from 表名字;
delete from 表名字 where 条件 ;
eg: delete from tb33 where id = 1;
delete from tb33 where id = 1 and name=”aa”;
delete from tb33 where id <=4;

delete from tb1 where id=1;

在这里插入图片描述

修改数据

update 表名字set 列=值;
update 表名字set 列=值,列=值;
update 表名字set age=age+10 where 条件;

update tb1 set name="cc";

在这里插入图片描述

三、python代码执行数据库操作

打开pycharm --创建新项目–终端写入pip(版本号) install pymysql

动态创建

(注意缩进)

import pymysql
while True:username=input("用户名:")if username.upper()=='Q':breakpassword=input("密码:")mobile=input("手机号:")
# 1.连接MySQLconn=pymysql.connect(host="127.0.0.1",port=3306,user='root',passwd="12345",charset='utf8',db='unicom')cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令  (不能用字符串格式化去做MySQL的拼接,有安全隐患)sql="insert into admin(username,password,mobile) values(%s,%s,%s)"cursor.execute(sql,[username,password,mobile])conn.commit()
# 3.关闭cursor.close()conn.close()

其中passwd="12345"表示进入数据库的密码,db='unicom’是新建的数据库名字,admin是新建表的名字,均可自行设置。

在这里插入图片描述
在这里插入图片描述

查询数据

全部数据: fetchall() 无数据为空列表
符合条件的第一个数据: fetchone() 无数据是none

import pymysql
# 1.连接MySQL
conn=pymysql.connect(host="127.0.0.1",port=3306,user='root',passwd="12345",charset='utf8',db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.执行查询的指令
cursor.execute("select * from  admin ",)
# %s是exceute的占位符,
rew=cursor.fetchone()
# print(data_list)
# 得出的结果是以字典形式展示列表中的数据
print(rew)
# 3.关闭
cursor.close()
conn.close()

在这里插入图片描述

删除数据

cursor.execute("delete from admin where id =%s",[8,])

8后面的逗号不能省略掉。

修改数据

cursor.execute("update admin set mobile=%s where id =%s",["49999999999",7,])

7后面的逗号不能省略掉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/72667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32定时器的One Pulse Mode,OPM应用

文章目录 OPM应用1-精准延时应用2-精准定时 OPM T IMx_CR1的OPM位 位 3 OPM&#xff1a;单脉冲模式 (One-pulse mode) 0&#xff1a;计数器在发生更新事件时不会停止计数 1&#xff1a;计数器在发生下一更新事件时停止计数&#xff08;将 CEN 位清零&#xff09; 应用1-精准延时…

C++设计模式_03_模板方法Template Method

文章目录 1. 设计模式分类1.1 GOF-23 模式分类1.2 从封装变化角度对模式分类 2. 重构&#xff08;使用模式的方法&#xff09;2.1 重构获得模式 Refactoring to Patterns2.2 重构关键技法 3. “组件协作”模式4. Template Method 模式4.1 动机&#xff08; Motivation&#xff…

磐基2.0搭建es集群

参考&#xff1a; k8s安装elasticsearch集群 k8s安装elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客1 环境简述搭建es集群需要使用的技术如下&#xff1a;k8s集群、StatefulSet控制器、Service&#xff08;NodePort&#xff09;服务、PV、PVC、volumeC…

C++ STL库的介绍和使用

文章目录 C STL库的介绍和使用STL六大组件算法的分类迭代器 一个简单的例子容器和自定义类型容器嵌套容器常用容器stringvectordequestackqueuelistset/multisetpairmap/multimap 容器的使用时机函数对象&#xff08;仿函数&#xff09;谓词内建函数对象适配器bind2nd和bind1st…

洛谷 LGR SCP-J 2023 c++语言模拟试题 10. 以下程序片段的时间复杂度为( )

之前在牛客的一个群中看到有位哥们发的题 好像是洛谷哪次的模拟题&#xff0c;还写着什么 LGR SCP-J 2023 c语言模拟试题 题目 就是给段代码询问时间复杂度 for (int i1; i<n; i){for (int j1; j<n; ji){for (int k1; k<n; k j){}} } 跑代码 一开始想不出怎么解就…

数据结构(C语言版)概念、数据类型、线性表

数据结构&#xff08;C语言&#xff09;基本概念 数据的基本单位 数据的基本单位是位&#xff08;bit&#xff09;和字节&#xff08;byte&#xff09;。位是最小的存储单位&#xff0c;它可以表示一个二进制的0或1。字节由8个位组成&#xff0c;用于表示一个字符或数字。在计…

ElasticSearch第二讲:ES详解 - ElasticSearch基础概念

ElasticSearch第二讲&#xff1a;ES详解 - ElasticSearch基础概念 在学习ElasticSearch之前&#xff0c;先简单了解下ES流行度&#xff0c;使用背景&#xff0c;以及相关概念等。本文是ElasticSearch第二讲&#xff0c;ElasticSearch的基础概念。 文章目录 ElasticSearch第二讲…

将PyCharm中的终端运行前面的PS修改成当前环境

最近使用Pycharm中的Terminal来pip安装一些pakage&#xff0c;发现Terminal运行前面的显示的是PS&#xff0c;然后输入安装指令报错。“python无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。” 解决方法&#xff1a; 只需要在pycharm的设置中修改一些termi…

SpringBoot复习:(61)拦截器(HandlerInterceptor)的用法

一、自定义拦截器&#xff1a; package cn.edu.tju.interceptor;import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRespo…

01JVM_内存结构

一、什么是JVM 1.JVM的定义 Java程序的运行环境&#xff0c;java二进制字节码的运行环境 2.JVM的好处 ①一次编写&#xff0c;到处运行 ②自动内存管理&#xff0c;垃圾回收功能 ③数组下标越界检查 ④多态 3.jvm&#xff0c;jre&#xff0c;jdk的比较 3.常见的JVM 主…

Redis限流实践:实现用户消息推送每天最多通知2次的功能

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

java从入门到起飞(八)——循环和递归

文章目录 Java循环1. 什么是循环&#xff1f;1.1 为什么需要循环&#xff1f;1.2 循环的分类 2. Java中的循环结构2.1 for循环2.2 while循环2.3 do-while循环 3. 循环控制语句3.1 break语句3.2 continue语句 4. 总结 Java递归1. 什么是递归2. 递归的原理3. 递归的实现4. 递归的…

更换 yum 阿里源 - 手把手教你怎么配置,在也不需要求别人了 - 看懂一个就相当于看懂了其他的linux系统

更换阿里源 我的是centos8 当然 centos7 也可以换 后面有更详细的怎么配 &#xff0c;再也不用求别人怎么弄了 最直接的方式 直接复制 执行 centos7 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo或者 wget -O /etc/yum.repos.…

基于SpringBoot + Vue的项目整合WebSocket的入门教程

1、WebSocket简介 WebSocket是一种网络通信协议&#xff0c;可以在单个TCP连接上进行全双工通信。它于2011年被IETF定为标准RFC 6455&#xff0c;并由RFC7936进行补充规范。在WebSocket API中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性…

酷雷曼第二期无人机技能培训圆满举办

第2期无人机技能培训 2023年8月24日-8月25日&#xff0c;第二期酷雷曼无人机技能培训及执照考试在北京圆满举办&#xff0c;来自五湖四海、全国各地的合作商千里相聚&#xff0c;培训现场热闹融洽&#xff0c;再续精彩盛况。 随着《无人驾驶航空器飞行管理暂行条例》正式发布…

Redis内存数据库

Redis内存数据库 NoSQL数据库简介Redis简介Redis应用场景windows下安装和使用Redis在linux下安装redisRedis数据可视化RedisDesktopManagerRedis配置Redis 数据类型Redis 字符串(String)Redis 哈希(Hash)Redis 列表(List)Redis 集合(Set)Redis 有序集合(sorted set)Redis key命…

性能测试 —— Jmeter 命令行详细

我们在启动Jmeter时 会看见&#xff1a;Don’t use GUI mode for load testing !, only for Test creation and Test debugging.For load testing, use CLI Mode (was NON GUI) 这句话的意思就是说&#xff0c;不要使用gui模式进行负载测试&#xff0c;gui模式仅仅是创建脚本…

Mysql JSON

select json_extract(c2, $.a) select c2->"$.a" // json_extract的语法糖 &#xff08;取出的值会保留"双引号" so不适合实战&#xff09; 注&#xff1a;mysql若是引擎Mariadb则不支持json操作符-&#xff1e;&#xff1e;语法糖 select c2->…

深度翻页导出导致慢SQL,mysqlCPU飙升优化方案

慢SQL原因分析&#xff1a; 1.深度翻页 2.多表JOIN 3. 大IN 4. id倒排序 本文针对深度翻页的优化进行探讨 方案1&#xff1a; 将limit offset, pageSize的方式改成 id > xx limit pageSize. 这样能走Id索引&#xff0c;提高速度。 缺点&#xff1a;不能使用多线程…

Java面向对象学习笔记-2

前言 本文介绍了Java中类的定义和对象的创建的基本概念。我们通过示例代码演示了如何定义不同类型的类&#xff0c;包括管理员信息、顾客信息、学校信息和访客信息&#xff0c;并展示了如何创建这些类的对象以及如何访问它们的属性和方法。这些示例有助于理解面向对象编程的基…