MySQL数据库入门,pycharm连接数据库—详细讲解

news2024/9/20 7:52:02

一.安装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连接上了。

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

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

相关文章

python:画函数积分图

《高等数学》同济大学版 P209 编写 test_diff_area.py 如下 # -*- coding: utf-8 -*- """ 函数积分图 y x^3 -x^2 -x1 """ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Polygondef func(x):return …

人工智能的普及造成了一场能源危机,但并不是无法解决。

人工智能的普及造成了一场能源危机&#xff0c;但并不是无法解决。 原文链接&#xff1a; 点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 人工智能&#xff08;AI&#xff09;的爆炸式增长促使科技巨头&#xff08;包括 Google、Meta、亚马逊和微软等&…

LeetCode刷题笔记第231题:2 的幂

LeetCode刷题笔记第231题&#xff1a;2 的幂 题目&#xff1a; 想法&#xff1a; 对输入的数值循环除以2直至数值小于等于1&#xff0c;如果最终的数值为1则为2的幂&#xff0c;小于1则不是2的幂。 class Solution:def isPowerOfTwo(self, n: int) -> bool:if n 1:retur…

[C#]winform基于opencvsharp结合Diffusion-Low-Light算法实现低光图像增强黑暗图片变亮变清晰

【训练源码】 https://github.com/JianghaiSCU/Diffusion-Low-Light 【参考源码】 https://github.com/hpc203/Diffusion-Low-Light-onnxrun 【论文地址】 https://arxiv.org/pdf/2306.00306.pdf 【算法原理图】 【效果展示】 【测试环境】 vs2019 netframework4.7.2 …

【数据结构】关于优先级队列(堆),你了解内部原理吗?(超详解!!!)

前言&#xff1a; &#x1f31f;&#x1f31f;Hello家人们&#xff0c;这期讲解二叉树的遍历&#xff0c;希望你能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/EdeWV &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSD…

Iinux脚本bash:对自己的应用程序及其相关目录进行备份和恢复,并可查看备份计划、备份状态、备份大小等

目录 一、要求 1、需求 2、需求分析 二、脚本 1、总述 2、创建备份脚本 &#xff08;1&#xff09;脚本命名 &#xff08;2&#xff09;脚本内容 3、创建恢复脚本 &#xff08;1&#xff09;脚本命名 &#xff08;2&#xff09;脚本内容 4、设置cron作业 5、监控脚…

mybatis、mybatis-plus自定义插件,实现自定义策略数据脱敏功能

背景 mybatis中四大组件的作用,下面开发的插件拦截器会使用 四大组件Executor、StatementHandler、ParameterHandler、ResultSetHandler 需求 1、根据脱敏规则进行查询数据,显示的时候进行展示脱敏 2、根据脱敏规则进行查询数据,将脱敏后的数据批量更新回数据库,进行脱…

【Python系列】 Python打印99乘法表

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Vue+ElementUI技巧分享:创建一个带有进度显示的文件下载和打包组件

在现代前端开发中&#xff0c;用户体验至关重要&#xff0c;尤其是在处理文件下载时。为用户提供实时的下载进度显示和打包功能&#xff0c;不仅能提升用户体验&#xff0c;还能使应用更具专业性。在本文中&#xff0c;我们将创建一个 Vue 组件&#xff0c;用于显示文件下载进度…

视图变化 - 等比例变换防止视图拉伸

文章目录 使用场景等比变换等高填充等宽填充代码进行比目标宽高计算超出部分处理设置负的 marginclip 裁剪 End参考&#xff1a; 使用场景 在日常开发中&#xff0c;经常会遇到的一个需求是将图片/视频从界面的一个位置&#xff0c;变换到另一个位置。在处理这类问题的时候经常…

基于微信小程序的书籍销售预测系统的设计与实现(论文+源码)_kaic

摘 要 随着信息化社会的进步&#xff0c;我们的生活越来越便利。在网上&#xff0c;我们可以轻松地进行各种交易&#xff0c;其中包括图书交易。可以说&#xff0c;图书交易是网络交易的一个重要方面。本系统以面向对象的方式进行开发&#xff0c;使用MySQL作为主要数据存储…

linux centos stream9图形化操作

初学者对图形化操作比较熟悉,对字符界面、命令行比较陌生。本文讨论一下图形化操作的基本技能。希望初学者掌握后尽快使用字符界面,会执行命令,更会编程。 本案例是基于stream9版本,如版本不同,会有差别,注意操作使用。 一、安装图形化界面 Linux操作系统常用的图形用…

Unity URP无光照下Shadow 制作 <二> 合批处理

闲谈 相信大家在日常工作中发现了一个问题 &#xff0c; urp下虽然可以做到3个Pass 去写我们想要的效果&#xff0c;但是&#xff0c;不能合批&#xff08;不能合批&#xff0c;那不是我们CPU要干冒烟~&#xff01;&#xff09; 好家伙&#xff0c;熊猫老师的偏方来了 &#x…

Leetcode JAVA刷刷站(38)外观数列

一、题目概述 二、思路方向 为了解决这个问题&#xff0c;我们可以编写一个Java函数countAndSay&#xff0c;该函数接受一个整数n作为输入&#xff0c;并返回外观数列的第n个元素。这个函数将基于递归公式来构建数列&#xff0c;其中countAndSay(1) "1"&#xff0c;…

vue设置环境变量

1、在根目录地下建立两个文件&#xff0c;.env.development 和 .env.production VUE_APP_BASE_API"" .env.development这个就是开发环境&#xff0c;.env.production这个就是生产环境&#xff0c;也就是这个可以写本地的ip端口 .env.production 这个就是生产环境&…

Verilog刷题笔记51

题目&#xff1a; Now that you have a state machine that will identify three-byte messages in a PS/2 byte stream, add a datapath that will also output the 24-bit (3 byte) message whenever a packet is received (out_bytes[23:16] is the first byte, out_bytes[1…

14、springboot3 vue3开发平台-前端-自定义菜单组件,根据路由动态渲染

文章目录 1. 组件2 . 使用示例 1. 组件 src\components\menuTree\index.vue <template><template v-for"item in menuList"><!-- 分为两种方式渲染&#xff1a;有子菜单和没有子菜单--><!-- 没有子菜单--><el-menu-item :index&qu…

linux cpu问题排查及性能优化

cpu性能 一、cpu啥时候才叫有瓶颈 cpu运行的快还是慢、cpu有没有问题&#xff0c;cpu是不是还需要优化。这些是平常开发和运维中经常遇到的问题。那么我门到底如何去判断机器cpu运行的到底有没有异常呢。 从我排查问题来说&#xff0c;单看系统指标不能完全反应应用运行的状态…

移动魔百盒刷机教程

准备工作 确认型号&#xff1a;首先确认您的魔百盒的具体型号&#xff0c;不同的型号可能需要不同的刷机包。刷机包&#xff1a;下载适合您型号的刷机包。U盘&#xff1a;准备一个容量不超过8GB的U盘&#xff0c;并将其格式化为FAT32格式。刷机工具&#xff1a;根据型号可能需…

深度学习实战:手把手教你构建多任务、多标签模型

多任务多标签模型是现代机器学习中的基础架构&#xff0c;这个任务在概念上很简单 -训练一个模型同时预测多个任务的多个输出。 在本文中,我们将基于流行的 MovieLens 数据集,使用稀疏特征来创建一个多任务多标签模型,并逐步介绍整个过程。所以本文将涵盖数据准备、模型构建、训…