首页 > 数据库 >python操作MySQL

python操作MySQL

时间:2023-08-10 17:58:54浏览次数:71  
标签:python MySQL server cursor 服务器 mysql 操作 conn


# macOS 操作 MySQL 服务

# 启动MySQL
mysql.server start

# 停止MySQL
mysql.server stop

# 重启 MySQL
mysql.server restart

# 查看当前 MySQL 服务状态
mysql.server status

# 配置 MySQL 服务器
# 我们需要运行以下脚本配置 MySQL 服务器的安全性:
mysql_secure_installation


# 链接 MySQL 
mysql -uroot -p
# 密码:12345678


# 常用 MySQL 命令
# show databases;
# use databasename;
# show tables;
# exit;


# MySQL 图形化管理工具 DBeaver


# MySQL 服务器管理命令
# brew 提供了实用的命令可以管理 MySQL 服务器。
# brew services start mysql: 启动 MySQL 服务器,并设置为自启动。
# brew services stop mysql: 停止 MySQL 服务器,并设置为不自启动。
# brew services run mysql: 只启动 MySQL 服务器。
# mysql.server start: 启动 MySQL 服务器。
# mysql.server stop: 停止 MySQL 服务器。

# mysql 
show databases;

use mysql;

show tables;

select * from func;

-- 注释内容
# 注释内容
/*
	注释内容
*/


/* 选中某句 SQL 语句,按 control + 回车 执行该条语句 */


-- 字符串使用单引号


create database test charset utf8;
show databases;
drop database xxx;

select database();

show tables;

CREATE TABLE STUDENTS (
	sid int,
	name varchar(50),
	age int
);

drop table students;

-- 只查看返回的前 5 条数据
SELECT * FROM students order by age DESC limit 5;

-- 查看跳过前 10 条,然后查看接下来的 5 条数据
SELECT * FROM students order by age DESC limit 10, 5;




Python 语言操作 MySQL 数据库

先通过执行 bash 命令$ pip3 install pymysql 安装库


#
#   py_mysql.py
#   py_learn
#
#   Created by Z. Steve on 2023/8/10 16:57.
#


# 通过 pymysql 库来操作 MySQL 数据库

from pymysql import Connection

# 1. 创建连接对象
conn = Connection(host="localhost", port=3306, user="root", password="12345678")
# 输出 MySQL 数据库信息
print(conn.get_server_info())

# 2. 执行相关操作
# 2.1 通过连接对象, 获取游标对象
cursor = conn.cursor()
# 2.2 通过连接对象, 选择数据库
conn.select_db("sys")
# 2.3 通过游标对象, 执行 SQL
# cursor.execute("create table students(sid int, sname varchar(50), age int);")
cursor.execute("select * from students;")
# results 是一个元组对象, 该对象中的每个元素又是一个元组对象
results = cursor.fetchall()
# 循环遍历
for item in results:
    print(item)
print(results)
print("sql 语句执行成功!")

# 关闭数据库连接
conn.close()






执行 insert、update 等更改数据的行为时, 需要进行 commit

#
#   py_mysql_insert.py
#   py_learn
#
#   Created by Z. Steve on 2023/8/10 17:33.
#

from pymysql import Connection

conn = Connection(
    host="localhost",
    port=3306,
    user="root",
    password="12345678"
)

cursor = conn.cursor()
conn.select_db("sys")

# 通过 cursor 对象执行SQL
cursor.execute("insert into students(sid, sname, age) values(1007, '王孙', 24);")
# 通过 conn 对象提交执行(提交事务)
conn.commit()

conn.close()




# 注意:可通过创建 Connection() 对象时, 指定参数来实现自动提交
'''
conn = Connection(
    host="localhost",
    port=3306,
    user="root",
    password="12345678",
    autocommit=True
)
'''

参考地址

https://www.sjkjc.com/mysql/install-on-macos/

标签:python,MySQL,server,cursor,服务器,mysql,操作,conn
From: https://www.cnblogs.com/zxhoo/p/17615608.html

相关文章

  • GIL 锁或将在 CPython 中成为可选项
    哈喽大家好,我是咸鱼几天前有媒体报道称,经过多次辩论,Python指导委员会打算批准通过PEP703提案,让GIL(全局解释器)锁在CPython中成为一个可选项PEP703提案主要目标是使GIL变成可选项,即允许Python解释器在特定情况下不使用GIL这将允许Python在多核处理器上更好地利用......
  • 线性表-链表的操作实现
    LinkList.h#ifndef__LINKLIST__H__#define__LINKLIST__H__#include<stdio.h>#include<stdlib.h>typedefstructLinkNode{ intdata; structLinkNode*next;}LinkNode;typedefstructLinkList{ LinkNode*head;}LinkList;////遍历链表voi......
  • python dict 和 object 相互转换
    pythondict和object的相互转换dict.py借助dict,isinstance来实现对象与字典之间的相互转换defas_dict(obj):ifnothasattr(obj,"__dict__"):returnobjresult={}forkey,valinobj.__dict__.items():ifkey.startswith("_"):......
  • docker-compose 安装MySQL(单实例)
    需求场景:在开发和测试环境中,或者研究型的环境,对于数据库的安全和稳定性可以稍低一些,那么我们可以通过docker快速部署MySQL服务,降低部署的时间成本。 vimdocker-compose.ymlversion:'3'services:mysql:restart:alwaysprivileged:trueimage:mysql:8.0......
  • 使用Aspose.BarCode,在 Python 中扫描条码
    条形码是机器可读的数据表示形式,由平行线或几何图案直观地表示。它们提供了一种快速准确的方法来存储和检索信息,例如产品详细信息、库存代码或跟踪号码。条形码有多种类型,包括UPC、EAN、QR码等。每种类型都有特定的结构和编码机制。在这篇博文中,我们将学习如何构建高性能的Python......
  • MySQL主从复制修改复制用户及密码【转】
    在生产环境中有时候需要修改复制用户账户的密码,比如密码遗失,或者由于多个不同的复制用户想统一为单独一个复制账户。对于这些操作应尽可能慎重以避免操作不同导致主从不一致而需要进行修复。本文描述了修改复制账户密码以及变更复制账户。1、更改复制账户密码--演示环境,同一......
  • Python列表排序sort和sorted的区别
    lst_1=[3,1,2]lst_2=[4,6,5]print(lst_1.sort())lst_1.sort()print(lst_1)print(sorted(lst_2))#None#[1,2,3]#[4,5,6]所以结论就是:sorted(list)原来的list不变,生成一个新的排好序的list对象。list.sort()改变原有的list,不会返回对象。......
  • 解决mysqladmin flush-hosts
    1、提高允许的max_connect_errors数量(治标不治本)a.命令行修改 修改max_connection_errors的数量为1000 mysql-h123.57.78.101-P3306-uroot-p123456 setglobalmax_connect_errors=1000; showvariableslike‘%max_connect_errors%’;b.配置文件修改 登陆进入M......
  • 在 Python 中使用 Pygal 绘制世界地图
    在Python的Pygal库的帮助下,我们可以在Python中创建令人惊叹的世界地图,因为它提供了不同的功能来创建和自定义图形。本文探讨了绘制世界地图、自定义地图样式、添加数据以突出显示国家或地区以及将地图呈现为SVG文件的分步过程。无论您是想可视化地理数据、展示国际统计数据......
  • 在Python中使用LooseVersion进行软件版本号比对
    技术背景Python是一门极其热门、极其灵活的开发语言,其更新迭代的速度也非常的快速。有时候我们遇到不同的软件版本不同方法处理的情况,此时就需要用到版本号比对的工具。举一个例子说,我们要在python代码中区分numpy版本在1.21.6之前和之后的版本。虽然我们可以自己手写一个软件版......