MySQL数据库入门,pycharm连接数据库—详细讲解
一.安装MySQL
1.常用MySQL5.7,首先安装MySQL,
(一)

(二)

(三)

(四)

(五)

2.配置环境变量
打开MySQL安装路径,在其中找到bin文件,复制路径,打开系统高级设置,点击环境变量,在下方找到path,将bin文件路径粘贴其中。
3.检验安装是否完成
win + r 输入cmd,打开命令提示符,输入指令:net start | find "MySQL",这将显示正在运行的服务中是否包含 MySQL。如果 MySQL 服务正在运行,你会看到类似 MySQL 的输出。
4.连接mysql
指令:mysql -u root -p,回车后会提示输入root密码,如果连接成功,你将进入 MySQL 的命令行界面。

二.MySQL常用指令
1.数据库
create database 数据库名 charset=utf8; 创建数据库
show databases; 显示所有数据库

use 数据库名; 使用数据库名
![]()
drop database 数据名; 删除数据库
2.数据表
show tables; 显示数据库中所有表

create table 表名 (列名 类型 约束1 约束2,列名 类型 约束1 约束2,...); 创建表

desc 表名; 查看表结构


删除列名

添加列名

修改列名

3.约束
主键: primary key
非空:not null
自增长:auto_increment
唯一:unique
默认值:default
外键:foreign key
检查:check (mysql8才能用)
4.增删改查
(1)查
select * from 表名; 适用于表中数据相对较少时
select 列名,列名 from 表名;
select 列名 as 别名,列名 as 别名 from 表名;
1.1.where 条件
比较运算符 = >= > <= < != <>
逻辑运算符 and or not
判空 is null, is not null
精确比较 in in [a, b, c]
范围比较 between and between 5 and 10
像 like % 代表多个字符 _ 一个字符
1.2.关联查询
嵌套查询
第一次查询的结果作为第二次查询的条件
表连接
笛卡尔连接
一个表中每一行都和另外一个表中所有行连接
内连接
inner join
例子:select user.id as 用户id, user.username as 用户名, role.nick as 昵称, role.level as 等级 from user inner join role on user.id = role.user_id;
外连接
左外连接 left join 以左表为主,左表条件满足 正常显示 不满足 右侧补null
例子:select * from user left join role on user.id = role.user_id;
右外连接 right join 以右表为主,右表条件满足 正常显示 不满足 左侧补null
例子:select * from role right join user on user.id = role.user_id;
全连接
left join union right join
例子: select * from user right join role on user.id = role.user_id union select * from user left join role on user.id = role.user_id;
1.3.去重,分组,排序,分页
去重
distinct 单独列展示 并对列去重
例子: select distinct user_id from role;
分组
group by
一般结合count(*)进行统计
例子: select info as '组信息', count(*) as 个数 from role group by info;
排序
列排序
order by asc 升序 desc 降序
例子:select * from role order by user_id desc , id asc ;
分页
limit
一个数字n代表前n个 limit n
两个数字m n limit m , n
例子:select * from role limit 5; select * from role limit 2,2;
(2)增
insert into 表名 values (值1,值2,值3), (值1,值2,值3); 值的个数与列的个数一致
insert into 表名 (列1,列2,列3) values (值1,值2,值3); 可以指定 哪些列的数据,没有默认值的列必须插入
insert into 表名 set 列1=值1,列2=值2; 插入1行指明插入的列与其值
(3)改
update 表名 set 列1 = 值1 where 条件;
如果没有 where 条件 就修改整个表。
(4)删
delete from 表名 where 条件;
如果没有 where 条件 就清空表
5.用户
创建用户
create user '用户名'@'%' identified by '123456';
分配权限
grant 权限列举 on 数据库名.表名 to '用户名'@'%'; all 所有权限 *.* 所有数据库中的所有表
删除用户
drop user '用户名'@'%';
修改密码
alter user ‘用户名’@‘%’ identified by ‘123456’;
6.外键
关系型数据库表与表之间存在关联关系
外键:一个表中的某一列是另外一个表中的主键
创建,添加
constraint 外键名 foreign key (列名) references 表 (列)on update cascade on
delete cascade;
删除
alter table 表名 drop foreign key 外键名;
7.函数
查看当前数据库
select database();
查看当前用户
select user();
查看版本
select version();
现在时间
select now();
当前日期
select curdate();
当前时间
select curtime();
时间戳
select unix_timestamp();
三.mysql与pycharm
首先安装对应的包,打开终端,输入:pip install pymysql
第一步:导入模块
第二步:构建连接实例

user指的是用户名,
password指的是用户密码,
select_db 指的是数据库名。
第三步:构建游标

第四步 :关闭游标,关闭连接

这样数据库就与mysql连接上了。
相关文章:
MySQL数据库入门,pycharm连接数据库—详细讲解
一.安装MySQL 1.常用MySQL5.7,首先安装MySQL, (一) (二) (三) (四) (五) 2.配置环境变量 打开MySQL安装路径,在其中找到…...
.bat文件快速运行vue项目
如何使用bat文件快速运行vue项目? 新建个文件,改名为serve.bat。 在文件中写入以下内容: # cd 项目路径 cd D:\projects\xxx npm run serve pausecd 项目所在的路径 npm run dev/serve ,取决于项目的启动方法,打…...
数据结构(邓俊辉)学习笔记】优先级队列 07——堆排序
1.算法 作为完全二叉堆的一个应用,这节来介绍堆排序算法。 是的,谈到优先级队列,我们很自然地就会联想到排序。因为就其功能而言,包括完全二叉堆在内的任何一种优先级队列都天生地具有选取功能,也就是选取其中的最大…...
npm install pnpm -g 报错的解决方法
npm install pnpm -g 报错的解决方法 npm error code ETIMEDOUT npm error errno ETIMEDOUT npm error network request to https://registry.npmjs.org/pnpm failed, reason: npm error network This is a problem related to network connectivity. npm error network In mo…...
集师知识付费小程序开发
智慧生活,从选择一款优质知识付费小程序起航 在这个信息爆炸的时代,知识成为了最宝贵的财富。我们渴望不断学习,提升自我,追求更高品质的生活。而一款优质的知识付费小程序,就如同照亮前行道路的明灯。 它是知识的宝库…...
前端开发提效工具——用户自定义代码片段
做开发总是会有大量的代码要写,但是有时候某些代码是非常基础但是很多,我们就可以把这一部分整合起来,使用一个很简短的关键字来快速唤出。 如何新建这样的代码段? 1.在VSCode当中找到Snippets,然后点击 2.之后会弹出…...
docker容器安全加固参考建议——筑梦之路
这里主要是rootless的方案。 在以 root 用户身份运行 Docker 会带来一些潜在的危害和安全风险,这些风险包括: 容器逃逸:如果一个容器以 root 权限运行,并且它包含了漏洞或者被攻击者滥用,那么攻击者可能会成功逃出容器…...
基于 Appium 的 App 爬取实战
除了运行 Appium 的基本条件外,还要一个日志输出库 安装: pip install loguru 思路分析 首先我们观察一下整个 app5 的交互流程,其首页分条显示了电影数据, 每个电影条目都包括封面,标题, 类别和评分 4…...
nvm与node安装
参考: 一文搞定NVM安装所有问题NVM UI解决nodejs下载慢问题 node_mirror: http://npmmirror.com/mirrors/node/ npm_mirror: http://registry.npmmirror.com/mirrors/npm/解决nvm list available报错问题 Could not retrieve https://npm.taobao.org/mirrors/node/…...
【电子通识】什么是MSL湿敏等级
潮敏失效是塑料封装表贴器件在高温焊接工艺中表现出来的特殊的失效现象。 造成此类问题的原因是器件内部的潮气膨胀后使得器件发生损坏。 MSL是“Moisture Sensitivity Level(湿气敏感性等级)”的缩写,针对需进行回流焊的产品设定了MSL基准。…...
【ARM 芯片 安全与攻击 5.4 -- Meltdown 攻击与防御介绍】
文章目录 什么是 Meltdown 攻击?Meltdown 攻击的基本原理Meltdown 攻击代码示例Meltdown 攻击在芯片中的应用应用场景Meltdown 攻击与瞬态攻击、测信道攻击的关系针对 Meltdown 攻击的防御硬件级防御Summary什么是 Meltdown 攻击? Meltdown 攻击是一种利用处理器乱序执行(o…...
Django 后端架构开发:分页器到中间件开发
🚀 Django 后端架构开发:分页器到中间件开发 🚀 🔹 应用样式:上下翻页 分页功能在处理大量数据时非常有用。通过上下翻页,我们可以让用户轻松浏览数据。以下是一个展示产品列表的分页示例: fr…...
亲测解决The client socket has failed to connect to
这个问题是因为深度学习的程序(服务)跟本地主机连接不上,解决方法是确认rank起始数为0。 报错原文 [W socket.cpp:663] [c10d] The client socket has failed to connect to [csdn-xiaohu]:12345 (errno: 22 - Invalid argument).解决方法 …...
Intel ACRN 安装WIN10 VM
上一篇帖子记录了ACRN运行rt linux,这篇帖子记录一下最近倒腾出来的WIN10。目前架构如下 ACRN可以把它理解为一个基于Linux类似软件的Type1 Hypervisor,基于Linux去做而不是baremetal是为了更方便去配置资源。 首先我们得有两台电脑,一台是开…...
贷齐乐案例
源码分析: <?php // 设置 HTTP 头部,指定内容类型为 text/html,字符集为 utf-8 header("Content-type: text/html; charsetutf-8"); // 引入数据库配置文件 require db.inc.php; // 定义函数 dhtmlspecialchars,用…...
[Qt][Qt 网络][下]详细讲解
目录 1.TCP Socket1.核心API概览2.回显服务器3.回显客户端 2.HTTP Client3.其他模块 1.TCP Socket 1.核心API概览 核⼼类是两个:QTcpServer和QTcpSocketQTcpServer用于监听端口,和获取客户端连接 listen(const QHostAddress&, quint16 port)&#…...
十三、OpenCVSharp的目标检测
文章目录 简介一、传统目标检测方法1. 基于滑动窗口的检测2. 特征提取与分类器结合(如 HOG + SVM)3. 级联分类器二、基于深度学习的目标检测1. YOLO 系列算法2. SSD 算法3. Faster R-CNN 算法三、深度学习目标检测模型的训练和部署四、目标检测的性能评估指标1. 准确率、召回…...
STM32标准库学习笔记-6.定时器-输入捕获
参考教程:【STM32入门教程-2023版 细致讲解 中文字幕】 定时器输入捕获 IC(Input Capture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率…...
vue前端可以完整的显示编辑子级部门,用户管理可以为用户分配角色和部门?
用户和角色是一对多的关系用户和部门是多对多得关系<template><div class="s"><!-- 操作按钮 --><div class="shang"><el-input v-model="searchText" placeholder="请输入搜索关键词" style="width:…...
量化交易的基石:ExchangeSdk
作为长期混迹在合约市场的老韭菜来说,已不能满足与手动下单来亏钱,必须得通过脚本来加速,为了达到这个目的就产生了项目。目前封装的主要是合约的API接口,不支持现货交易。 Github: https://github.com/silently9527/exchange-sdk…...
Windows虚拟控制器驱动完全指南:如何用ViGEmBus实现游戏设备模拟
Windows虚拟控制器驱动完全指南:如何用ViGEmBus实现游戏设备模拟 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾因游戏只支持特定手柄而…...
RCLAMP0542T.TCT静电保护TVS 二极管阵列 SEMTECH 电子元器件IC 芯片
RCLAMP0542T.TCT 是由 SEMTECH 公司推出的一款超低电容、双通道ESD(静电放电)保护 TVS 二极管阵列,具备0.45pF 超低电容、5A 浪涌承受能力和超小型 SLP1610P4T 封装,专为高速数据接口设计,广泛应用于通信设备、消…...
如何实现精准歌词同步?KRC格式全解析与应用实践
如何实现精准歌词同步?KRC格式全解析与应用实践 【免费下载链接】KuGouMusicApi 酷狗音乐 Node.js API service 项目地址: https://gitcode.com/gh_mirrors/ku/KuGouMusicApi 在音乐应用开发中,歌词显示功能看似简单,实则隐藏着诸多技…...
深入解析PLL锁相环在FPGA时钟管理中的核心应用
1. 从闹钟到芯片:PLL如何成为FPGA的"时间管家" 想象一下你早上起床的场景:手机闹钟准时响起,咖啡机开始自动煮咖啡,窗帘缓缓拉开让阳光照进来。这些设备之所以能完美同步,全靠它们内部精确的时钟信号。而在…...
在 Java 并发编程和高性能数据处理中,HashMap 和 ConcurrentHashMap 是两大核心容器。它们在 JDK 8+ 中的演进(链表转红黑树、锁机制优化)直接解决了特定业务场景下的性
在 Java 并发编程和高性能数据处理中,HashMap 和 ConcurrentHashMap 是两大核心容器。它们在 JDK 8 中的演进(链表转红黑树、锁机制优化)直接解决了特定业务场景下的性能瓶颈。 以下结合具体业务场景,深度解析它们的内部机制及设计…...
20个网站备份泄漏漏洞挖掘技巧!
20个网站备份泄漏漏洞挖掘技巧! 网站备份文件泄露,绝不是小问题。在网络安全攻防实战中,备份文件泄露一直被列为“高风险漏洞”,却往往被企业开发者所忽视。一次偶然的备份文件泄露,可能成为整个系统沦陷的起点。本文…...
CGAL-6.0.1在Win11与VS2019环境下的高效编译与配置指南
1. 环境准备:搭建Win11VS2019开发环境 在开始编译CGAL-6.0.1之前,我们需要确保开发环境配置正确。我实测发现,Win11系统与VS2019的组合存在一些特殊配置需求,这里分享几个关键检查点: 首先确认VS2019的安装组件。打开V…...
效率革命:设计师必备的Sketch批量命名神器RenameIt完全指南
效率革命:设计师必备的Sketch批量命名神器RenameIt完全指南 【免费下载链接】RenameIt Keep your Sketch files organized, batch rename layers and artboards. 项目地址: https://gitcode.com/gh_mirrors/re/RenameIt 在现代UI/UX设计流程中,保…...
C++ 内联函数的性能影响
C内联函数的性能影响探析 在追求高效代码的C开发中,内联函数因其消除函数调用开销的特性而备受关注。通过将函数体直接嵌入调用点,内联函数能显著提升程序性能,尤其在频繁调用的场景下。过度或不恰当的内联也可能导致代码膨胀或缓存命中率下…...
EN50155以太网交换机的X键位M12插座在PCB板上同一高度方法
在轨道交通车载EN50155以太网交换机的PCB设计中,X键位M12插座(千兆/万兆接口)常需多个并排或阵列布局。由于X编码插座引脚数较多(8芯)且结构复杂,确保所有插座在PCB板上的同一高度(共面性&#…...
