06 python操作MySQL和redis(進階)

來源:互聯網
上載者:User

標籤:sele   fetch   結束   redis   取出   utf8   and   div   account   

python操作mysql、redis階段一、mysql事務

主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除一個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫動作陳述式就構成一個事務!

交易處理可以用來維護資料庫的完整性,保證成批的 SQL 陳述式要麼全部執行,要麼全部不執行。

事務用來管理 insert、update、delete 語句

事務必須滿足4個條件(ACID):原子性(Atomicity,或稱不可分割性)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。

原子性:一個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被復原(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

一致性:在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。

隔離性:資料庫允許多個並發事務同時對其資料進行讀寫和修改的能力,隔離性可以防止多個事務並發執行時由於交叉執行而導致資料的不一致。

持久性:交易處理結束後,對資料的修改就是永久的,即便系統故障也不會丟失。

start transaction;    # 開啟事務?# 插入資料insert into account value(1, 1000);?commit;  # 提交事務?rollback;  # 復原
階段二、python操作mysql
pip install pymysqlpip install redisworkon py3env?cd /etc/mysql/mysql.conf.d/sudo vim mysqld.cnf?0.0.0.0     # 所有的ip都能訪問127.0.0.1   # 只有本地能訪問?cd /etc/redis/sudo vim redis.conf?虛擬機器解譯器不需要改連接埠,直接填 3306 6379# 要操作資料庫,首先就要建立和資料庫的串連,配置pymysql.connect串連資料庫:con = pymysql.connect(    host = ‘主機‘,    port = 連接埠,    user = ‘使用者名稱‘,    password = ‘密碼‘,    db = ‘資料庫名‘,    charset = ‘utf8‘)print(con)?# 定義遊標cursor = con.cursor()  cursor.execute(‘show databases‘)        #執行sqlone = cursor.fetchone()              #取出一條資料all = cursor.fetchall()              #取出所有資料print(one)print(all)?# 建表tb = ‘‘‘create table tb(id int primary key auto_increment,name char(10))‘‘‘cur.execute(tb)?# 插入 row = cursor.execute("insert into test(name,sex) values(%s,%s)", (‘shiwei‘,‘male‘))?#  更新row = cursor.execute(“update test set name= ‘張三‘ where id = %s", (2,))?#  刪除cursor.execute(‘delete from user where id=%s ‘,(1,) )?# 關閉串連# 事務,資料改動的時候cur.execute(‘commit‘)con.commit()    #提交事物cursor.close()  #關閉遊標con.close()     # 關閉串連?## 聯集查詢union = ‘‘‘select  s.name, c.name,d.name  from  `student` s left join `select` se on se.s_id = s.s_idleft join course  c on se.c_id = c.idleft join department d on s.dept_id = d.idORDER BY s.name;‘‘‘# cursor.execute(union)# find =cursor.fetchall()
階段三、python操作redis

1、模組安裝

pip install redis

2、基本操作

# 建立串連re = redis.Redis(host=‘127.0.0.1‘, port=‘55555‘)## 測試re.set(‘num‘,15)print(re.get(‘num‘))?## set 中文re.set(‘name‘,‘張三‘)print(re.get(‘name‘).decode(‘utf8‘) )?### 大部分的命令 和 redis 中操作一樣不同:re.expire(‘user_name‘, 20)  # 添加到期時間re.ttl(‘user_name‘)       ### 不能看 負數 -1    -2re.mset(a=1, b=2)         ##  用索引值對 mget a bre.incr(‘read_count‘)        ## incr   可以加參數,代替了 incrby  get read_countre.decr()        ## decr   可以加參數,代替了 decrby?lrange list_1 0 -1lpush list_1  2 3 4 5 3re.lrem(‘list_1‘, 3, 0)        ## num 放到後面re.hmset()       # 多插入,用字典re.hmset(‘users‘, {‘name‘: ‘shiwei‘, ‘age‘: 18})

 

06 python操作MySQL和redis(進階)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.