Python操作MariaDB创建数据表及增删改查
1、在CentOS7操作系统Shell,输入python,进入交互命令行,输入以下命令创建数据表:
>>> import MySQLdb
>>> conn = MySQLdb.connect(host='192.168.128.25',user='root',passwd='yourpassword',db='mysql')
>>> createsql='create table testtable(name varchar(20) not null ,id int,gender char(1))'
>>> cursor = conn.cursor()
>>> cursor.execute(createsql)
注意将passwd换成数据库密码,这样就在mysql的database创建了testtable数据表

2、是Navicat工具连接上数据库查看,表存在,表结构和定义的一致

3、下面像刚刚创建的数据表插入数据,代码如下:
>>> insertsql = 'insert into testtable(id,name,gender) values (1,"user1","M")'
>>> cursor.execute(insertsql)
1L
>>> conn.commit()
注意,增删改属于DML操作一定要commit

4、可以到Navicat查看刚刚插入的数据

5、删除数据操作,代码如下:
>>> delsql = 'delete from testtable where id = "1"'
>>> cursor.execute(delsql)
1L
>>> cursor.commit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Cursor' object has no attribute 'commit'
>>> conn.commit()
注意,这里一开始写错了不能用cursor来commit,必须用连接conn
删除时最好使用where子句,不然会删除所有数据

6、在Navicat中查看刚刚插入的数据已经被删除了,数据表现在没有数据

7、查询数据操作前,先插入几条数据,完整代码如下:
>>> insertsql = 'insert into testtable(id,name,gender) values (1,"user1","M")'
>>> cursor.execute(insertsql)
1L
>>> insertsql = 'insert into testtable(id,name,gender) values (2,"user2","M")'
>>> cursor.execute(insertsql)
1L
>>> insertsql = 'insert into testtable(id,name,gender) values (3,"user3","M")'
>>> cursor.execute(insertsql)
1L
>>> conn.commit()
>>> selsql = 'select * from testtable'
>>> cursor.execute(selsql)
3L
>>> result = cursor.fetchone()
>>> print (result)
('user1', 1L, 'M')
插入了三条数据,fetchone只取查询结果的一条,返回一个列表格式的数据。

8、继续取出剩下的全部数据用fetchall(),代码如下:
>>> results = cursor.fetchall()
>>> for i in results:
... print i
...
('user2', 2L, 'M')
('user3', 3L, 'M')
