千家信息网

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

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,1、ubuntu环境下安装python-MySQLdbsudo apt-get install build-essential python-dev libmysqlclient-devsudo ap
千家信息网最后更新 2024年11月28日python操作mysql(一)MySQLdb模块安装和数据库基本操作
1、ubuntu环境下安装python-MySQLdbsudo apt-get install build-essential python-dev libmysqlclient-devsudo 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的库了。

import MySQLdbDBHOST = "192.168.89.101"DBUSER = "root"DBPASSWD ="1qaz#EDC"DB = "soms"PORT = 3306CHARSET = "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():关闭连接。此后,连接对象和游标都不再可用了。





0