当前位置: 首页 > news >正文

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&#xff0c;首先安装MySQL&#xff0c; &#xff08;一&#xff09; &#xff08;二&#xff09; &#xff08;三&#xff09; &#xff08;四&#xff09; &#xff08;五&#xff09; 2.配置环境变量 打开MySQL安装路径&#xff0c;在其中找到…...

.bat文件快速运行vue项目

如何使用bat文件快速运行vue项目&#xff1f; 新建个文件&#xff0c;改名为serve.bat。 在文件中写入以下内容&#xff1a; # cd 项目路径 cd D:\projects\xxx npm run serve pausecd 项目所在的路径 npm run dev/serve &#xff0c;取决于项目的启动方法&#xff0c;打…...

数据结构(邓俊辉)学习笔记】优先级队列 07——堆排序

1.算法 作为完全二叉堆的一个应用&#xff0c;这节来介绍堆排序算法。 是的&#xff0c;谈到优先级队列&#xff0c;我们很自然地就会联想到排序。因为就其功能而言&#xff0c;包括完全二叉堆在内的任何一种优先级队列都天生地具有选取功能&#xff0c;也就是选取其中的最大…...

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…...

集师知识付费小程序开发

智慧生活&#xff0c;从选择一款优质知识付费小程序起航 在这个信息爆炸的时代&#xff0c;知识成为了最宝贵的财富。我们渴望不断学习&#xff0c;提升自我&#xff0c;追求更高品质的生活。而一款优质的知识付费小程序&#xff0c;就如同照亮前行道路的明灯。 它是知识的宝库…...

前端开发提效工具——用户自定义代码片段

做开发总是会有大量的代码要写&#xff0c;但是有时候某些代码是非常基础但是很多&#xff0c;我们就可以把这一部分整合起来&#xff0c;使用一个很简短的关键字来快速唤出。 如何新建这样的代码段&#xff1f; 1.在VSCode当中找到Snippets&#xff0c;然后点击 2.之后会弹出…...

docker容器安全加固参考建议——筑梦之路

这里主要是rootless的方案。 在以 root 用户身份运行 Docker 会带来一些潜在的危害和安全风险&#xff0c;这些风险包括&#xff1a; 容器逃逸&#xff1a;如果一个容器以 root 权限运行&#xff0c;并且它包含了漏洞或者被攻击者滥用&#xff0c;那么攻击者可能会成功逃出容器…...

基于 Appium 的 App 爬取实战

除了运行 Appium 的基本条件外&#xff0c;还要一个日志输出库 安装&#xff1a; pip install loguru 思路分析 首先我们观察一下整个 app5 的交互流程&#xff0c;其首页分条显示了电影数据&#xff0c; 每个电影条目都包括封面&#xff0c;标题&#xff0c; 类别和评分 4…...

nvm与node安装

参考&#xff1a; 一文搞定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&#xff08;湿气敏感性等级&#xff09;”的缩写&#xff0c;针对需进行回流焊的产品设定了MSL基准。…...

【ARM 芯片 安全与攻击 5.4 -- Meltdown 攻击与防御介绍】

文章目录 什么是 Meltdown 攻击?Meltdown 攻击的基本原理Meltdown 攻击代码示例Meltdown 攻击在芯片中的应用应用场景Meltdown 攻击与瞬态攻击、测信道攻击的关系针对 Meltdown 攻击的防御硬件级防御Summary什么是 Meltdown 攻击? Meltdown 攻击是一种利用处理器乱序执行(o…...

Django 后端架构开发:分页器到中间件开发

&#x1f680; Django 后端架构开发&#xff1a;分页器到中间件开发 &#x1f680; &#x1f539; 应用样式&#xff1a;上下翻页 分页功能在处理大量数据时非常有用。通过上下翻页&#xff0c;我们可以让用户轻松浏览数据。以下是一个展示产品列表的分页示例&#xff1a; fr…...

亲测解决The client socket has failed to connect to

这个问题是因为深度学习的程序&#xff08;服务&#xff09;跟本地主机连接不上&#xff0c;解决方法是确认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&#xff0c;这篇帖子记录一下最近倒腾出来的WIN10。目前架构如下 ACRN可以把它理解为一个基于Linux类似软件的Type1 Hypervisor&#xff0c;基于Linux去做而不是baremetal是为了更方便去配置资源。 首先我们得有两台电脑&#xff0c;一台是开…...

贷齐乐案例

源码分析&#xff1a; <?php // 设置 HTTP 头部&#xff0c;指定内容类型为 text/html&#xff0c;字符集为 utf-8 header("Content-type: text/html; charsetutf-8"); // 引入数据库配置文件 require db.inc.php; // 定义函数 dhtmlspecialchars&#xff0c;用…...

[Qt][Qt 网络][下]详细讲解

目录 1.TCP Socket1.核心API概览2.回显服务器3.回显客户端 2.HTTP Client3.其他模块 1.TCP Socket 1.核心API概览 核⼼类是两个&#xff1a;QTcpServer和QTcpSocketQTcpServer用于监听端口&#xff0c;和获取客户端连接 listen(const QHostAddress&, quint16 port)&#…...

十三、OpenCVSharp的目标检测

文章目录 简介一、传统目标检测方法1. 基于滑动窗口的检测2. 特征提取与分类器结合(如 HOG + SVM)3. 级联分类器二、基于深度学习的目标检测1. YOLO 系列算法2. SSD 算法3. Faster R-CNN 算法三、深度学习目标检测模型的训练和部署四、目标检测的性能评估指标1. 准确率、召回…...

STM32标准库学习笔记-6.定时器-输入捕获

参考教程&#xff1a;【STM32入门教程-2023版 细致讲解 中文字幕】 定时器输入捕获 IC&#xff08;Input Capture&#xff09;输入捕获输入捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff0c;当前CNT的值将被锁存到CCR中&#xff0c;可用于测量PWM波形的频率…...

vue前端可以完整的显示编辑子级部门,用户管理可以为用户分配角色和部门?

用户和角色是一对多的关系用户和部门是多对多得关系<template><div class="s"><!-- 操作按钮 --><div class="shang"><el-input v-model="searchText" placeholder="请输入搜索关键词" style="width:…...

量化交易的基石:ExchangeSdk

作为长期混迹在合约市场的老韭菜来说&#xff0c;已不能满足与手动下单来亏钱&#xff0c;必须得通过脚本来加速&#xff0c;为了达到这个目的就产生了项目。目前封装的主要是合约的API接口&#xff0c;不支持现货交易。 Github: https://github.com/silently9527/exchange-sdk…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...