溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python操作mysql(一)MySQLdb模塊安裝和數(shù)據(jù)庫(kù)基本操作

發(fā)布時(shí)間:2020-07-24 17:33:01 來(lái)源:網(wǎng)絡(luò) 閱讀:350 作者:TtrToby 欄目:數(shù)據(jù)庫(kù)
1、ubuntu環(huán)境下安裝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、安裝好之后導(dǎo)入模塊

import MySQLdb


4、登入數(shù)據(jù)庫(kù)后查看數(shù)據(jù)庫(kù)

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


5、創(chuàng)建數(shù)據(jù)庫(kù)

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


6、創(chuàng)建表,表名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、查看表結(jié)構(gòu)

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、查詢表里的數(shù)據(jù)

mysql> select * from discovery;
Empty set
目前沒有數(shù)據(jù),是個(gè)空表


9、插入一條數(shù)據(jù),并查詢

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、數(shù)據(jù)庫(kù)建立好之后,就可以用python通過已經(jīng)安裝的mysqldb來(lái)連接這個(gè)名字叫做soms的庫(kù)了。

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建立了與數(shù)據(jù)的連接,其實(shí)是建立了一個(gè)MySQLdb.connect()的實(shí)例對(duì)象,或者泛泛地稱之為連接對(duì)象,python就是通過連接對(duì)象和數(shù)據(jù)庫(kù)對(duì)話。這個(gè)對(duì)象常用的方法有:

  • commit():如果數(shù)據(jù)庫(kù)表進(jìn)行了修改,提交保存當(dāng)前的數(shù)據(jù)。當(dāng)然,如果此用戶沒有權(quán)限就作罷了,什么也不會(huì)發(fā)生。

  • rollback():如果有權(quán)限,就取消當(dāng)前的操作,否則報(bào)錯(cuò)。

  • cursor([cursorclass]):返回連接的游標(biāo)對(duì)象。通過游標(biāo)執(zhí)行SQL查詢并檢查結(jié)果。游標(biāo)比連接支持更多的方法,而且可能在程序中更好用。

  • close():關(guān)閉連接。此后,連接對(duì)象和游標(biāo)都不再可用了。





向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI