python 自动化 mysql 部署_Python自动化管理Mysql数据库教程
Python自動化管理Mysql數據庫教程
發布時間:2020-05-28 11:14:31
來源:51CTO
閱讀:238
作者:三月
下面一起來了解下Python自動化管理Mysql數據庫教程,相信大家看完肯定會受益匪淺,文字在精不在多,希望Python自動化管理Mysql數據庫教程這篇短內容是你想要的。
1.MYSQL 語言的分類
(1) DDL 數據庫定義
(2) DQL 數據庫查詢
(3) DML 數據庫操作
(4) DCL? 數據庫權限
2.MYSQL? 操作
(1) 創建數據庫mysql>?create?database?cmdb?default?charset?utf8;
(2)查看所有的數據庫mysql>?show?databases;
+--------------------+
|?Database???????????|
+--------------------+
|?information_schema?|
|?cmdb???????????????|
|?mysql??????????????|
|?performance_schema?|
|?sys????????????????|
+--------------------+
5?rows?in?set?(0.00?sec)
(3) 使用cmdb數據庫mysql>?use?cmdb;
(4) 查看數據庫的創建語法mysql>?show?create?database?cmdb;
(5) 刪除數據庫mysql>?drop?database?cmdb;
(6) 查看所有的表mysql>?show?tables;
(7)? 創建用戶表mysql>?create?table?user(id?int,name?varchar(64),age?int,?sex?boolean,telphone?varchar(32),?addr?varchar(512))engine=innodb?default?charset?utf8;
(8)? 查看創建表的過程mysql>?show?create?table?user;
(9)? 刪除表mysql>?drop?table?user;
(10)? 查看表結構mysql>?desc?user;
(11)? 插入數據mysql>?insert?into?user(id,name,age,sex,telphone,addr)values(1,'李寬',25,1,'18829787559','陜西省西安市');
(12)? 查看數據mysql>?select?*?from?user;
(13)? 只查詢指定的列mysql>?select?name,addr?from?user;
(14)? 條件查詢
where
邏輯關聯詞? and? or
關系表達式? >? =? <=? !=
like表達式
(1) % 占多位? ? 'abc%'? ?'%abc'
(2) _ 占一位? ? ? ‘abc_’ '_abc'
in 的使用? ? ? ?colname? in (a,b)
not in 的使用? ?colname not in (a,b)select?name,age,addr?from?user?where?addr?=?'陜西省西安市'?and?age=25;
mysql>?select?name,age,addr?from?user?where?addr?=?'陜西省西安市'?or?age?=?25;
select?name,age,addr?from?user?where?addr?=?'陜西省西安市'?or?age?>?25;
mysql>?select?name,age,addr?from?user?where?age?>=?25;
mysql>?select?name,age,addr?from?user?where?age?!=?25;
select?name,age,addr?from?user?where?age?
mysql>?select?name,age,addr?from?user?where?addr?like?'陜西省%';
mysql>?select?name,age,addr?from?user?where?addr?like?'%市';
mysql>?select?name,age,addr?from?user?where?not?(addr?like?'臨汾市');
mysql>?select?name,age,addr?from?user?where?age?in?(23,25);
mysql>?select?name,sex,age,addr?from?user?where?age?not?in?(15,25);
(15)? 查詢總數mysql>?select?count(*)?from?user;
3.創建CMDB的用戶表
建表的sql,性別在數據庫中存儲的時候,男存1,女存0CREATE?TABLE?user(
id?int?primary?key?auto_increment,
name?varchar(32)?unique?not?null?default?'',
password?varchar(512)?not?null?default?'',
age?int?not?null?default?18,
sex?boolean?not?null?default?1,
tel?varchar(16)?not?null?default?'',
addr?text,
add_time?datetime
)ENGINE=INNODB?DEFAULT?CHARSET?utf8mb4;
批量插入測試數據insert?into?user(name,?password,?age,?sex,?tel,?addr,?add_time)?values?('kk',?md5('kk'),?30,?1,?'15200000000',?'西安市',?now()),\
('woniu',?md5('woniu'),?30,?1,?'15200000001',?'北京市',?now()),('zhangzhengguang',?md5('zhangzhengguang'),?30,?1,?'15200000003',?'杭州市',?now()),\
('likuan',?md5('likuan'),?30,?1,?'15200000002',?'西安市',?now())
查看用戶登錄的用戶名和密碼mysql>?select?name,password?from?user?where?name='likuan'?and?password=md5('likuan');
查找所有的數據mysql>?select?id,name,password,age,sex,tel,addr?from?user?;
限制查詢的數據 (limit可以用來做分頁)mysql>?select?id,name,password,age,sex,tel,addr?from?user?limit?1;
Limit?和?offset結合使用mysql>?select?id,name,password,age,sex,tel,addr?from?user?limit?2?offset?2;
排序 (降序和升序)
降序(desc)Mysql>?select?id,name,password,age,sex,tel,addr?from?user?order?by?age?desc;
升序(asc)mysql>?select?id,name,password,age,sex,tel,addr?from?user?order?by?age?asc;
更新操作mysql>?update?user?set?age=15?where?id?=?3;
mysql>?update?user?set?name='kk',tel='152',sex=1,addr='西安市'?where?id?=?1;
刪除操作mysql>?delete?from?user?where?id?=?1;
mysql>?delete?from?user;
聚合函數mysql>?select?max(age),min(age),avg(age),count(age),sum(age)?from?user;
分類統計mysql>?select?addr,?count(*)?from?user?group?by?addr;
mysql>?select?addr,age,?count(*)?from?user?group?by?addr,age;
4.Python代碼里操作mysql
首先需要安裝mysql的開發包? ?mysql-devel
其次pip安裝 mysqlclient
使用是導入包? MysqlSQLdb
Python操作mysql的七步
(1)導入模塊import?MySQLdb
(2)創建連接conn=MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='passwd',db='cmdb')
(3)獲取游標cursor?=?conn.cursor()
(4)執行sql(DQL 和 DML)
DQL
返回符合條件的個數cursor.execute("select?id,name?from?user?where?name='likuan'?and?password=md5('likuan');")
DMLcursor.execute("update?user?set?age?=?35?where?id?=?1")
(5)DQL獲取結果 、DML提交執行
DQL(元組)cursor.fetchall()
cursor.fetchone()
>>>?cursor.fetchall()
(('kk',),?('likuan',),?('woniu',),?('zhangzhengguang',))
DML 提交conn.commit()
(6)關閉游標cursor.close()
(7)關閉連接conn.close()
5.提交sql采用預處理的方式(預防sql注入)
(1)將操作和數據分開
(2)兩個變量,一個是sql操作,一個是對應的數據
(3)只有數據才可以占位,操作不能占位
看完Python自動化管理Mysql數據庫教程這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。
總結
以上是生活随笔為你收集整理的python 自动化 mysql 部署_Python自动化管理Mysql数据库教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界Java存档转移_我的世界怎么导
- 下一篇: 今天好无聊……悟空……你变成女妖精吧……