免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python 連接各類主流數(shù)據(jù)庫簡單示例

本篇博文主要介紹Python連接各種數(shù)據(jù)庫的方法及簡單使用
包括關系數(shù)據(jù)庫:sqlite,mysql,mssql
非關系數(shù)據(jù)庫:MongoDB,Redis

代碼寫的比較清楚,直接上代碼

1.連接sqlite

# coding=utf-8# http://www.runoob.com/sqlite/sqlite-python.htmlimport sqlite3import tracebacktry:    # 如果表不存在,就創(chuàng)建    with sqlite3.connect('test.db') as conn:        print("Opened database successfully")        # 刪除表        conn.execute("DROP TABLE IF EXISTS  COMPANY")        # 創(chuàng)建表        sql = """                 CREATE TABLE IF NOT EXISTS COMPANY               (ID INTEGER  PRIMARY KEY       AUTOINCREMENT,               NAME           TEXT    NOT NULL,               AGE            INT     NOT NULL,               ADDRESS        CHAR(50),               SALARY         REAL);        """        conn.execute(sql)        print("create table successfully")        # 添加數(shù)據(jù)        conn.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES (?, ?, ?, ? )",                         [('Paul', 32, 'California', 20000.00),                          ('Allen', 25, 'Texas', 15000.00),                          ('Teddy', 23, 'Norway', 20000.00),                          ('Mark', 25, 'Rich-Mond ', 65000.00),                          ('David', 27, 'Texas', 85000.00),                          ('Kim', 22, 'South-Hall', 45000.00),                          ('James', 24, 'Houston', 10000.00)])        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ( 'Paul', 32, 'California', 20000.00 )")        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ('Allen', 25, 'Texas', 15000.00 )")        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ('Teddy', 23, 'Norway', 20000.00 )")        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ( 'Mark', 25, 'Rich-Mond ', 65000.00 )")        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ( 'David', 27, 'Texas', 85000.00 )");        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ( 'Kim', 22, 'South-Hall', 45000.00 )")        #        # conn.execute("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)        # VALUES ( 'James', 24, 'Houston', 10000.00 )")        # 提交,否則重新運行程序時,表中無數(shù)據(jù)        conn.commit()        print("insert successfully")        # 查詢表        sql = """            select id,NAME,AGE,ADDRESS,SALARY FROM COMPANY         """        result = conn.execute(sql)        for row in result:            print("-" * 50)  # 輸出50個-,作為分界線            print("%-10s %s" % ("id", row[0]))  # 字段名固定10位寬度,并且左對齊            print("%-10s %s" % ("name", row[1]))            print("%-10s %s" % ("age", row[2]))            print("%-10s %s" % ("address", row[3]))            print("%-10s %.2f" % ("salary", row[4]))            # or            # print('{:10s} {:.2f}'.format("salary", row[4]))except sqlite3.Error as e:    print("sqlite3 Error:", e)    traceback.print_exc()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83

2.連接mysql

2.1使用mysqldb庫中的_mysql

#! /usr/bin/env python2.7# coding=utf-8# Created by xiaosanyu at 16/5/30# mysqldb 只支持python2.7# http://mysql-python.sourceforge.net/import MySQLdbfrom contextlib import closingimport tracebacktry:    # 獲取一個數(shù)據(jù)庫連接    with closing(MySQLdb.connect(host='localhost', user='root', passwd='root', db='test', port=3306,charset='utf8')) as conn:        print("connect database successfully")        with closing(conn.cursor()) as cur:            # 刪除表            cur.execute("DROP TABLE IF EXISTS  COMPANY")            # 創(chuàng)建表            sql = """                     CREATE TABLE IF NOT EXISTS COMPANY                   (ID INTEGER  PRIMARY KEY NOT NULL  auto_increment,                   NAME           TEXT    NOT NULL,                   AGE            INT     NOT NULL,                   ADDRESS        CHAR(50),                   SALARY         REAL);            """            cur.execute(sql)            print("create table successfully")            # 添加數(shù)據(jù)            # 在一個conn.execute里面里面執(zhí)行多個sql語句是非法的            cur.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( %s, %s, %s, %s )",                            [('Paul', 32, 'California', 20000.00),                             ('Allen', 25, 'Texas', 15000.00),                             ('Teddy', 23, 'Norway', 20000.00),                             ('Mark', 25, 'Rich-Mond ', 65000.00),                             ('David', 27, 'Texas', 85000.00),                             ('Kim', 22, 'South-Hall', 45000.00),                             ('James', 24, 'Houston', 10000.00)])            # 提交,否則重新運行程序時,表中無數(shù)據(jù)            conn.commit()            print("insert successfully")            # 查詢表            sql = """                select id,NAME,AGE,ADDRESS,SALARY FROM COMPANY             """            cur.execute(sql)            for row in cur.fetchall():                print("-" * 50)  # 輸出50個-,作為分界線                print("%-10s %s" % ("id", row[0]))  # 字段名固定10位寬度,并且左對齊                print("%-10s %s" % ("name", row[1]))                print("%-10s %s" % ("age", row[2]))                print("%-10s %s" % ("address", row[3]))                print("%-10s %s" % ("salary", row[4]))except MySQLdb.Error as e:    print("Mysql Error:", e)    traceback.print_exc()  # 打印錯誤棧信息
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

2.2 使用MySQLdb

#! /usr/bin/env python2.7# coding=utf-8# Created by xiaosanyu at 16/5/30# mysqldb 只支持python2.7# http://mysql-python.sourceforge.net/import MySQLdbfrom contextlib import closingimport tracebacktry:    # 獲取一個數(shù)據(jù)庫連接    with closing(MySQLdb.connect(host='localhost', user='root', passwd='root', db='test', port=3306,charset='utf8')) as conn:        print("connect database successfully")        with closing(conn.cursor()) as cur:            # 刪除表            cur.execute("DROP TABLE IF EXISTS  COMPANY")            # 創(chuàng)建表            sql = """                     CREATE TABLE IF NOT EXISTS COMPANY                   (ID INTEGER  PRIMARY KEY NOT NULL  auto_increment,                   NAME           TEXT    NOT NULL,                   AGE            INT     NOT NULL,                   ADDRESS        CHAR(50),                   SALARY         REAL);            """            cur.execute(sql)            print("create table successfully")            # 添加數(shù)據(jù)            # 在一個conn.execute里面里面執(zhí)行多個sql語句是非法的            cur.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( %s, %s, %s, %s )",                            [('Paul', 32, 'California', 20000.00),                             ('Allen', 25, 'Texas', 15000.00),                             ('Teddy', 23, 'Norway', 20000.00),                             ('Mark', 25, 'Rich-Mond ', 65000.00),                             ('David', 27, 'Texas', 85000.00),                             ('Kim', 22, 'South-Hall', 45000.00),                             ('James', 24, 'Houston', 10000.00)])            # 提交,否則重新運行程序時,表中無數(shù)據(jù)            conn.commit()            print("insert successfully")            # 查詢表            sql = """                select id,NAME,AGE,ADDRESS,SALARY FROM COMPANY             """            cur.execute(sql)            for row in cur.fetchall():                print("-" * 50)  # 輸出50個-,作為分界線                print("%-10s %s" % ("id", row[0]))  # 字段名固定10位寬度,并且左對齊                print("%-10s %s" % ("name", row[1]))                print("%-10s %s" % ("age", row[2]))                print("%-10s %s" % ("address", row[3]))                print("%-10s %s" % ("salary", row[4]))except MySQLdb.Error as e:    print("Mysql Error:", e)    traceback.print_exc()  # 打印錯誤棧信息
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

2.3使用pymysql

2.1和2.2節(jié)使用MySQLdb,不支持Python3.x
pymysql對Python2.x和Python3.x的支持都比較好

# Created by xiaosanyu at 16/5/30# coding=utf-8# https://github.com/PyMySQL/PyMySQL/import pymysqlfrom contextlib import closingimport tracebacktry:    # 獲取一個數(shù)據(jù)庫連接,with關鍵字 表示退出時,conn自動關閉    # with 嵌套上一層的with 要使用closing()    with closing(pymysql.connect(host='localhost', user='root', passwd='root', db='test', port=3306,                                 charset='utf8')) as conn:        print("connect database successfully")        # 獲取游標,with關鍵字 表示退出時,cur自動關閉        with conn.cursor() as cur:            # 刪除表            cur.execute("DROP TABLE IF EXISTS  COMPANY")            # 創(chuàng)建表            sql = """                     CREATE TABLE IF NOT EXISTS COMPANY                   (ID INTEGER  PRIMARY KEY NOT NULL  auto_increment,                   NAME           TEXT    NOT NULL,                   AGE            INT     NOT NULL,                   ADDRESS        CHAR(50),                   SALARY         REAL);            """            cur.execute(sql)            print("create table successfully")            # 添加數(shù)據(jù)            # 在一個conn.execute里面里面執(zhí)行多個sql語句是非法的            cur.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( %s, %s, %s, %s )",                            [('Paul', 32, 'California', 20000.00),                             ('Allen', 25, 'Texas', 15000.00),                             ('Teddy', 23, 'Norway', 20000.00),                             ('Mark', 25, 'Rich-Mond ', 65000.00),                             ('David', 27, 'Texas', 85000.00),                             ('Kim', 22, 'South-Hall', 45000.00),                             ('James', 24, 'Houston', 10000.00)])            # 提交,否則重新運行程序時,表中無數(shù)據(jù)            conn.commit()            print("insert successfully")            # 查詢表            sql = """                select id,NAME,AGE,ADDRESS,SALARY FROM COMPANY             """            cur.execute(sql)            for row in cur.fetchall():                print("-" * 50)  # 輸出50個-,作為分界線                print("%-10s %s" % ("id", row[0]))  # 字段名固定10位寬度,并且左對齊                print("%-10s %s" % ("name", row[1]))                print("%-10s %s" % ("age", row[2]))                print("%-10s %s" % ("address", row[3]))                print("%-10s %s" % ("salary", row[4]))except pymysql.Error as e:    print("Mysql Error:", e)    traceback.print_exc()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

3.連接mssql

# Created by xiaosanyu at 16/5/30# http://www.pymssql.org/en/latest/import pymssqlfrom contextlib import closingtry:    # 先要保證數(shù)據(jù)庫中有test數(shù)據(jù)庫    # 獲取一個數(shù)據(jù)庫連接,with關鍵字 表示退出時,conn自動關閉    # with 嵌套上一層的with 要使用closing()    with closing(pymssql.connect(host='192.168.100.114', user='sa', password='sa12345', database='test', port=1433,                                 charset='utf8')) as conn:        print("connect database successfully")        # 獲取游標,with關鍵字 表示退出時,cur自動關閉        with conn.cursor() as cur:            # 刪除表            cur.execute(                    '''if exists (select 1 from  sys.objects where name='COMPANY' and  type='U')  drop table COMPANY''')            # 創(chuàng)建表            sql = """                     CREATE TABLE  COMPANY                   (ID INT  IDENTITY(1,1) PRIMARY KEY NOT NULL ,                   NAME           TEXT    NOT NULL,                   AGE            INT     NOT NULL,                   ADDRESS        CHAR(50),                   SALARY         REAL);            """            cur.execute(sql)            print("create table successfully")            # 添加數(shù)據(jù)            # 在一個conn.execute里面里面執(zhí)行多個sql語句是非法的            cur.executemany("INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY) VALUES ( %s, %s, %s, %s )",                            [('Paul', 32, 'California', 20000.00),                             ('Allen', 25, 'Texas', 15000.00),                             ('Teddy', 23, 'Norway', 20000.00),                             ('Mark', 25, 'Rich-Mond', 65000.00),                             ('David', 27, 'Texas', 85000.00),                             ('Kim', 22, 'South-Hall', 45000.00),                             ('James', 24, 'Houston', 10000.00)])            # 提交,否則重新運行程序時,表中無數(shù)據(jù)            conn.commit()            print("insert successfully")            # 查詢表            sql = """                select id,NAME,AGE,ADDRESS,SALARY FROM COMPANY             """            cur.execute(sql)            for row in cur.fetchall():                print("-" * 50)  # 輸出50個-,作為分界線                print("%-10s %s" % ("id", row[0]))  # 字段名固定10位寬度,并且左對齊                print("%-10s %s" % ("name", row[1]))                print("%-10s %s" % ("age", row[2]))                print("%-10s %s" % ("address", row[3]))                print("%-10s %s" % ("salary", row[4]))except pymssql.Error as e:    print("mssql Error:", e)    # traceback.print_exc()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

4.連接MongoDB

# Created by xiaosanyu at 16/5/30# https://docs.mongodb.com/ecosystem/drivers/python/# https://pypi.python.org/pypi/pymongo/import pymongofrom pymongo.mongo_client import MongoClientimport pymongo.errorsimport tracebacktry:    # 連接到 mongodb 服務    mongoClient = MongoClient('localhost', 27017)    # 連接到數(shù)據(jù)庫    mongoDatabase = mongoClient.test    print("connect database successfully")    # 獲取集合    mongoCollection = mongoDatabase.COMPANY    # 移除所有數(shù)據(jù)    mongoCollection.remove()    # 添加數(shù)據(jù)    mongoCollection.insert_many([{"Name": "Paul", "Age": "32", "Address": "California", "Salary": "20000.00"},                                 {"Name": "Allen", "Age": "25", "Address": "Texas", "Salary": "15000.00"},                                 {"Name": "Teddy", "Age": "23", "Address": "Norway", "Salary": "20000.00"},                                 {"Name": "Mark", "Age": "25", "Address": "Rich-Mond", "Salary": "65000.00"},                                 {"Name": "David", "Age": "27", "Address": "Texas", "Salary": "85000.00"},                                 {"Name": "Kim", "Age": "22", "Address": "South-Hall", "Salary": "45000.00"},                                 {"Name": "James", "Age": "24", "Address": "Houston", "Salary": "10000.00"}, ])    #獲取集合中的值    for row in mongoCollection.find():        print("-" * 50)  # 輸出50個-,作為分界線        print("%-10s %s" % ("_id", row['_id']))  # 字段名固定10位寬度,并且左對齊        print("%-10s %s" % ("name", row['Name']))        print("%-10s %s" % ("age", row['Age']))        print("%-10s %s" % ("address", row['Address']))        print("%-10s %s" % ("salary", row['Salary']))    print('\n\n\n')    # 使id自增    mongoCollection.remove()    # 創(chuàng)建計數(shù)表    mongoDatabase.counters.save({"_id": "people_id", "sequence_value": 0})    # 創(chuàng)建存儲過程    mongoDatabase.system_js.getSequenceValue = '''function getSequenceValue(sequenceName){            var sequenceDocument = db.counters.findAndModify({                query: {_id: sequenceName},                update: {$inc:{sequence_value: 1}},                new:true            });            return sequenceDocument.sequence_value;        }'''    mongoCollection.insert_many(            [{"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "Paul", "Age": "32",              "Address": "California", "Salary": "20000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "Allen", "Age": "25",              "Address": "Texas", "Salary": "15000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "Teddy", "Age": "23",              "Address": "Norway", "Salary": "20000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "Mark", "Age": "25",              "Address": "Rich-Mond", "Salary": "65000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "David", "Age": "27",              "Address": "Texas", "Salary": "85000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "Kim", "Age": "22",              "Address": "South-Hall", "Salary": "45000.00"},             {"_id": mongoDatabase.eval("getSequenceValue('people_id')"), "Name": "James", "Age": "24",              "Address": "Houston", "Salary": "10000.00"}, ])    for row in mongoCollection.find():        print("-" * 50)  # 輸出50個-,作為分界線        print("%-10s %s" % ("_id", int(row['_id'])))  # 字段名固定10位寬度,并且左對齊        print("%-10s %s" % ("name", row['Name']))        print("%-10s %s" % ("age", row['Age']))        print("%-10s %s" % ("address", row['Address']))        print("%-10s %s" % ("salary", row['Salary']))except pymongo.errors.PyMongoError as e:    print("mongo Error:", e)    traceback.print_exc()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82

5.連接Redis

5.1使用redis

# coding=utf-8# Created by xiaosanyu at 16/5/31# https://pypi.python.org/pypi/redis/2.10.5# http://redis-py.readthedocs.io/en/latest/#import redisr = redis.Redis(host='localhost', port=6379, db=0, password="12345")print("connect", r.ping())# 看信息info = r.info()# or 查看部分信息# info = r.info("Server")# 輸出信息items = info.items()for i, (key, value) in enumerate(items):    print("item %s----%s:%s" % (i, key, value))# 刪除鍵和對應的值r.delete("company")# 可以一次性push一條或多條數(shù)據(jù)r.rpush("company", {"id": 1, "Name": "Paul", "Age": "32", "Address": "California", "Salary": "20000.00"},        {"id": 2, "Name": "Allen", "Age": "25", "Address": "Texas", "Salary": "15000.00"},        {"id": 3, "Name": "Teddy", "Age": "23", "Address": "Norway", "Salary": "20000.00"})r.rpush("company", {"id": 4, "Name": "Mark", "Age": "25", "Address": "Rich-Mond", "Salary": "65000.00"})r.rpush("company", {"id": 5, "Name": "David", "Age": "27", "Address": "Texas", "Salary": "85000.00"})r.rpush("company", {"id": 6, "Name": "Kim", "Age": "22", "Address": "South-Hall", "Salary": "45000.00"})r.rpush("company", {"id": 7, "Name": "James", "Age": "24", "Address": "Houston", "Salary": "10000.00"})# eval用來將dict格式的字符串轉(zhuǎn)換成dictfor row in map(lambda x: eval(x), r.lrange("company", 0, r.llen("company"))):    print("-" * 50)  # 輸出50個-,作為分界線    print("%-10s %s" % ("_id", row['id']))  # 字段名固定10位寬度,并且左對齊    print("%-10s %s" % ("name", row['Name']))    print("%-10s %s" % ("age", row['Age']))    print("%-10s %s" % ("address", row['Address']))    print("%-10s %s" % ("salary", row['Salary']))# 關閉當前連接# r.shutdown() #這個是關閉redis服務端
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

5.2使用pyredis

# Created by xiaosanyu at 16/5/30# http://pyredis.readthedocs.io/en/latest/import pyredisr = pyredis.Client(host='localhost', port=6379, database=0, password="12345")print("connect", r.ping().decode("utf-8"))# 看信息# info = r.execute("info").decode()# or 查看部分信息info = r.execute("info", "Server").decode()# 輸出信息print(info)# 刪除鍵和對應的值r.delete("company")# 可以一次性push一條或多條數(shù)據(jù)r.rpush("company", '''{"id": 1, "Name": "Paul", "Age": "32", "Address": "California", "Salary": "20000.00"}''',        '''{"id": 2, "Name": "Allen", "Age": "25", "Address": "Texas", "Salary": "15000.00"}''',        '''{"id": 3, "Name": "Teddy", "Age": "23", "Address": "Norway", "Salary": "20000.00"}''')r.rpush("company", '''{"id": 4, "Name": "Mark", "Age": "25", "Address": "Rich-Mond", "Salary": "65000.00"}''')r.rpush("company", '''{"id": 5, "Name": "David", "Age": "27", "Address": "Texas", "Salary": "85000.00"}''')r.rpush("company", '''{"id": 6, "Name": "Kim", "Age": "22", "Address": "South-Hall", "Salary": "45000.00"}''')r.rpush("company", '''{"id": 7, "Name": "James", "Age": "24", "Address": "Houston", "Salary": "10000.00"}''')# eval用來將dict格式的字符串轉(zhuǎn)換成dictfor row in map(lambda x: eval(x), r.lrange("company", 0, r.llen("company"))):    print("-" * 50)  # 輸出50個-,作為分界線    print("%-10s %s" % ("_id", row['id']))  # 字段名固定10位寬度,并且左對齊    print("%-10s %s" % ("name", row['Name']))    print("%-10s %s" % ("age", row['Age']))    print("%-10s %s" % ("address", row['Address']))    print("%-10s %s" % ("salary", row['Salary']))# 關閉當前連接r.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

代碼下載:python_connect_database

歡迎交流溝通~

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
我用 Python 處理3萬多條數(shù)據(jù),只要幾秒鐘……
PostgreSQL連接Python
數(shù)據(jù)庫連接和數(shù)據(jù)庫池
Python操作mysql數(shù)據(jù)庫:MySQLdb模塊
Tushare與Mysql在python下的演義
Python連接MySQL數(shù)據(jù)庫之pymysql模塊使用
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服