首页 > 数据库 >python+mysql

python+mysql

时间:2023-07-21 10:36:58浏览次数:35  
标签:服务 python utf8 数据库 cursor connect mysql

目录

MySQL安装&初始化&连接

mysql安装

  1. mysql主要为5和8两个版本, 下载地址
  2. 下载形式为压缩包的格式, 解压即用

mysql初始化

  1. 需要预先指定一个配置文件, 后缀名为.ini. 配置文件放在安装文件夹下即可,最开始的优先级是C:\Windows\xx.ini.
[mysqld]

# port
port=3306

# set basedir == installation
basedir=D:\\Program Files\\mysql-5.7.43-winx64

# set datadir
datadir=D:\\Program Files\\mysql-5.7.43-winx64\\data
  • 需要指定port, basedir, datadir等内容
  1. 初始化, 可以先设置环境变量, 然后输入mysqld --initialize-insecure, 注意这里cmd需要管理员权限. 这一步会在指定的data里面放一些必备数据, 创建root用户等.

mysql启动

  1. cmd输入mysqld, 这种启动比较麻烦, 因为每次都要开一次终端
  2. 把启动制作成windows服务.
  • 制作服务 mysqld --install 服务名
  • 启动服务 net start 服务名
  • 停止服务 net stop 服务名

这里注意因为默认服务路径在C盘, 所以安装在别的盘需要改一下服务路径,具体做法为

win+R打开运行,输入regedit,打开系统注册表,依次找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MYSQL5/ImagePath(一般是bin文件夹路径)

  • 删除服务 mysqld --remove 服务名

测试连接mysql

  1. 除了python连接mysql, 也可以使用mysql自带的客户端来连接mysql并发送指令. 这里的工具其实就是bin路径下的mysql, mysqld类似配置文件
  2. 连接命令: mysql -h 127.0.0.1(如果本机, 配置h可以不写) -P 3306(和ini配置有关) -u root -p(输入密码,默认为空, 回车即可)
  • 'show databases;' 发送指令, 查看默认有哪些数据库
  • 'exit;' 发送指令, 退出

密码设置

  1. Windows默认root用户没有密码, root用户登录后, 可以使用set password = password("密码"); 来配置
  2. 忘记密码则需要在配置文件里加入一行skip-grant-tables=1, 重启MySQL, 再次登录时, 不需要密码可以直接进去了, 具体重启就是停止服务和开启服务
  3. 进入后更新密码, use mysql; update user set authentication_string=password("新密码"), password_last_changed=now() where user="root";
  4. 配置文件删掉skip-grant-tables=1, 重启服务后就可以用新密码登录了

数据库管理

内置客户端操作
  • 查看当前所有的数据库: show databases;
  • 创建数据库: create database 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; , 后面一大堆是设置存储文件的编码
  • 或者 create database bank default charset utf8 collate utf8_general_ci;, 大小写并不检查
  • 删除数据库: drop database 数据库名;
  • 进入数据(进入文件夹): use 数据库名;
  • 查看此数据库中的表: show tables;
python代码操作
  • 安装相关库 pip install pymysql
import pymysql

# 连接MySQL(本质是socket)
connect = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="lyq", charset="utf8")
cursor = connect.cursor()  # mysql的指令通过cursor实现

# 1. 查看数据库
# 发送指令
cursor.execute("show databases;") # 用不用分号都可!

# 获取指令的结果
result = cursor.fetchall()
print(result)

# 2. 创建数据库
# 发送指令 (注意如果是新增,删除,修改这种对数据库有修改的就要再加一句)
cursor.execute("create database bank default charset utf8 collate utf8_general_ci")
connect.commit() # 注意修改了就要加这个

# 3. 删除数据库
cursor.execute("drop database bank")
connect.commit()

# 4. 进入数据库,查看表
cursor.execute('use bank')
cursor.execute("show databases")
result = cursor.fetchall()
print(result)

# 5. 关闭连接
cursor.close()
connect.close()

标签:服务,python,utf8,数据库,cursor,connect,mysql
From: https://www.cnblogs.com/sdulyq/p/17569145.html

相关文章

  • MySQL8.0安装Mcafee审计插件,开启审计功能
    最近根据安全审计要求,数据库需要开启审计日志功能社区版本的MySQL8没有官方的审计日志插件,我们可以选择Mcafee提供的插件进行安装1、下载插件首先需要根据数据库版本选择对应的插件;https://github.com/mcafee-enterprise/mysql-audit注意:这里需要与数据库版本严格对应,笔者尝......
  • mysql多表关联的新增和修改操作
    1.多表的新增操作需求:从一个表查出的字段插入到另一个表示例:将loit_bear表的type_code和type_name的字段值全部分别新增到loit_dict表的dict_code和dict_name字段INSERTINTOloit_dict(dict_code,dict_name)selecttype_code,type_namefromloit_bear2.多表的修改操作......
  • MySQL 根据出生日期根据年龄区间进行统计汇总
    SELECTt.age_range,COUNT(1)FROM(SELECTCASEWHENROUND(DATEDIFF(CURDATE(),birthday)/365.2422)>0ANDROUND(DATEDIFF(CURDATE(),birthday)/365.2422)<20THEN'20岁以下'WHENROUND(DATEDIFF(CURDATE(),birthday)/365.2422)>=20......
  • vscode python代码提示
    VSCodePython代码提示简介VSCode(VisualStudioCode)是一款轻量级的代码编辑器,具有丰富的扩展功能。通过安装Python扩展,可以在VSCode中进行Python开发,并享受强大的代码提示功能。本文将介绍如何在VSCode中使用Python代码提示。安装Python插件在开始使用Python代码提示之前,......
  • mysql导入txt 中文乱码怎么解决
    在MySQL中导入txt文件时,如果出现中文乱码的问题该如何解决呢?以下是解决方法:1.首先需要确认导入的txt文件是否为UTF-8编码格式。可以使用记事本打开文本文件,如果乱码,可按以下方法手动转换编码:(1)打开记事本,将文件打开;(2)在菜单栏中选择“另存为”;(3)在弹出的窗口中选择“编码”为“UTF-......
  • Navicat连不上mysql8
    今天使用navicat连接mysql8,发现错误连连错误1:1130-Host'192.168.50.2'isnotallowedtoconnecttothisMySQLserver  错误2:2059-Authenticationplugin'caching_sha2_password'cannotbeloaded:Thespecifiedmodulecouldnotbefound  登录mysql,并切......
  • python可视化库seaborn
    1,它也是一个可视化库,对matplotlib进行了二次封装。比起pyplot它的接口更加集成,对numpy\pandas支持良好。可以设置图片风格style。seaborn与matplotlib的关系是互为补充而非替代:多数场合中seaborn是绘图首选,而在某些特定场景下则仍需用matplotlib进行更为细致的个性化定制。2,sns的风......
  • 调用mysql语句
    如何调用MySQL语句作为一名经验丰富的开发者,我很乐意教会你如何调用MySQL语句。下面我将按照一定的流程介绍详细的步骤,并给出相应的代码示例。步骤概述下表展示了调用MySQL语句的整个流程:步骤描述1连接数据库2创建游标对象3执行SQL语句4获取执行结果5......
  • Python爬虫超详细讲解(零基础入门,老年人都看的懂)
    本文已收录至Github,推荐阅读......
  • 电子书下载 免费pdf Python编程从入门到实践 第2版
    电子书下载-Python编程从入门到实践第2版简介Python是一种简单易学的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。《Python编程从入门到实践》是一本非常受欢迎的Python入门教程。本文将介绍如何下载免费的PDF版本的第2版《Python编程从入门到实践》电子书,并提供一......