python操作mysql(一)MySQLdb模块安装和数据库基本操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
1、ubuntu环境下安装python-MySQLdb
sudo apt-get install build-essential python-dev libmysqlclient-dev
sudo apt-get install python-MySQLdb

2、或者PIP安装

pip install mysql-python


3、安装好之后导入模块

import MySQLdb


4、登入数据库后查看数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set


5、创建数据库

mysql> create database soms character set utf8;
Query OK, 1 row affected


6、创建表,表名discovery

create table discovery(id int(2) not null primary key auto_increment,ip varchar(40),port int(10),status text)default charset=utf8;


7、查看表结构

mysql> desc discovery;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(2)      | NO   | PRI | NULL    | auto_increment |
| ip     | varchar(40) | YES  |     | NULL    |                |
| port   | int(10)     | YES  |     | NULL    |                |
| status | text        | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
4 rows in set


8、查询表里的数据

mysql> select * from discovery;
Empty set
目前没有数据,是个空表


9、插入一条数据,并查询

mysql> insert into discovery(ip,port,status) values("192.168.89.3",22,"True");
Query OK, 1 row affected

mysql> select * from discovery;
+----+--------------+------+--------+
| id | ip           | port | status |
+----+--------------+------+--------+
|  1 | 192.168.89.3 |   22 | True   |
+----+--------------+------+--------+
1 row in set

10、数据库建立好之后,就可以用python通过已经安装的mysqldb来连接这个名字叫做soms的库了。

1
2
3
4
5
6
7
8
9
10
import  MySQLdb
 
DBHOST  =  "192.168.89.101"
DBUSER  =  "root"
DBPASSWD  = "1qaz#EDC"
DB  =  "soms"
PORT  =  3306
CHARSET  =  "utf8"
 
conn  =  MySQLdb.connect(host = DBHOST, user = DBUSER, passwd = DBPASSWD, db = DB, port = PORT, charset = CHARSET)


Python建立了与数据的连接,其实是建立了一个MySQLdb.connect()的实例对象,或者泛泛地称之为连接对象,python就是通过连接对象和数据库对话。这个对象常用的方法有:

  • commit():如果数据库表进行了修改,提交保存当前的数据。当然,如果此用户没有权限就作罢了,什么也不会发生。

  • rollback():如果有权限,就取消当前的操作,否则报错。

  • cursor([cursorclass]):返回连接的游标对象。通过游标执行SQL查询并检查结果。游标比连接支持更多的方法,而且可能在程序中更好用。

  • close():关闭连接。此后,连接对象和游标都不再可用了。



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1903008

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
16天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
16天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
12天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
12天前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
44 0
|
12天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
30 0
|
16天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
2天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
2天前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
2天前
|
SQL JavaScript API
❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)
【4月更文挑战第4天】❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)在Node.js中实现删除本地数据库记录的操作。首先尝试通过SQL删除ID为8的用户,然后编写`app.delete`路由处理程序,从请求体获取ID并执行删除。。最终成功删除用户并展示了数据库的更新结果。下一节将优化增删改查功能。
15 1