Python自动化管理Mysql数据库教程
下面一起来了解下Python自动化管理Mysql数据库教程,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python自动化管理Mysql数据库教程这篇短内容是你想要的。
1.MYSQL 语言的分类
(1) DDL 数据库定义
(2) DQL 数据库查询
(3) DML 数据库操作
(4) DCL 数据库权限
2.MYSQL 操作
(1) 创建数据库
mysql>createdatabasecmdbdefaultcharsetutf8;
(2)查看所有的数据库
mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||cmdb||mysql||performance_schema||sys|+--------------------+5rowsinset(0.00sec)
(3) 使用cmdb数据库
mysql>usecmdb;
(4) 查看数据库的创建语法
mysql>showcreatedatabasecmdb;
(5) 删除数据库
mysql>dropdatabasecmdb;
(6) 查看所有的表
mysql>showtables;
(7) 创建用户表
mysql>createtableuser(idint,namevarchar(64),ageint,sexboolean,telphonevarchar(32),addrvarchar(512))engine=innodbdefaultcharsetutf8;
(8) 查看创建表的过程
mysql>showcreatetableuser;
(9) 删除表
mysql>droptableuser;
(10) 查看表结构
mysql>descuser;
(11) 插入数据
mysql>insertintouser(id,name,age,sex,telphone,addr)values(1,'李宽',25,1,'18829787559','陕西省西安市');
(12) 查看数据
mysql>select*fromuser;
(13) 只查询指定的列
mysql>selectname,addrfromuser;
(14) 条件查询
where
逻辑关联词 and or
关系表达式 > < = >= <= !=
like表达式
(1) % 占多位 'abc%' '%abc'
(2) _ 占一位 ‘abc_’ '_abc'
in 的使用 colname in (a,b)
not in 的使用 colname not in (a,b)
selectname,age,addrfromuserwhereaddr='陕西省西安市'andage=25;
mysql>selectname,age,addrfromuserwhereaddr='陕西省西安市'orage=25;
selectname,age,addrfromuserwhereaddr='陕西省西安市'orage>25;
mysql>selectname,age,addrfromuserwhereage>=25;
mysql>selectname,age,addrfromuserwhereage!=25;
selectname,age,addrfromuserwhereage<25;
mysql>selectname,age,addrfromuserwhereaddrlike'陕西省%';
mysql>selectname,age,addrfromuserwhereaddrlike'%市';
mysql>selectname,age,addrfromuserwherenot(addrlike'临汾市');
mysql>selectname,age,addrfromuserwhereagein(23,25);
mysql>selectname,sex,age,addrfromuserwhereagenotin(15,25);
(15) 查询总数
mysql>selectcount(*)fromuser;
3.创建CMDB的用户表
建表的sql,性别在数据库中存储的时候,男存1,女存0
CREATETABLEuser(idintprimarykeyauto_increment,namevarchar(32)uniquenotnulldefault'',passwordvarchar(512)notnulldefault'',ageintnotnulldefault18,sexbooleannotnulldefault1,telvarchar(16)notnulldefault'',addrtext,add_timedatetime)ENGINE=INNODBDEFAULTCHARSETutf8mb4;
批量插入测试数据
insertintouser(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>selectname,passwordfromuserwherename='likuan'andpassword=md5('likuan');
查找所有的数据
mysql>selectid,name,password,age,sex,tel,addrfromuser;
限制查询的数据 (limit可以用来做分页)
mysql>selectid,name,password,age,sex,tel,addrfromuserlimit1;
Limit和offset结合使用
mysql>selectid,name,password,age,sex,tel,addrfromuserlimit2offset2;
排序 (降序和升序)
降序(desc)
Mysql>selectid,name,password,age,sex,tel,addrfromuserorderbyagedesc;
升序(asc)
mysql>selectid,name,password,age,sex,tel,addrfromuserorderbyageasc;
更新操作
mysql>updateusersetage=15whereid=3;mysql>updateusersetname='kk',tel='152',sex=1,addr='西安市'whereid=1;
删除操作
mysql>deletefromuserwhereid=1;mysql>deletefromuser;
聚合函数
mysql>selectmax(age),min(age),avg(age),count(age),sum(age)fromuser;
分类统计
mysql>selectaddr,count(*)fromusergroupbyaddr;
mysql>selectaddr,age,count(*)fromusergroupbyaddr,age;
4.Python代码里操作mysql
首先需要安装mysql的开发包 mysql-devel
其次pip安装 mysqlclient
使用是导入包 MysqlSQLdb
Python操作mysql的七步
(1)导入模块
importMySQLdb
(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("selectid,namefromuserwherename='likuan'andpassword=md5('likuan');")
DML
cursor.execute("updateusersetage=35whereid=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数据库教程这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。