python操作数据库-数据表
数据表:
数据类型:
帮助的三种形式:
在cmd中输入: help 要帮助的主题词,或 ? 要帮助的主题词 或 \h 要帮助的主题词 。
数据表的创建:
CREATE database IF NOT exists zbltest2 default character set 'utf8'; USE zbltest2; CREATE TABLE IF NOT EXISTS `user`( id SMALLINT, username VARCHAR(20) ) ENGINE=INNODB CHARSET=UTF8;
1 #SELECT NOW(); 2 # SELECT * FROM student 3 -- 注释 alter 4 CREATE database IF NOT exists zbltest2 default character set 'utf8'; 5 USE zbltest2; 6 CREATE TABLE IF NOT EXISTS `user`( 7 id SMALLINT, 8 username VARCHAR(20) 9 ) ENGINE=INNODB CHARSET=UTF8; 10 11 -- 新闻分类 12 CREATE TABLE IF NOT EXISTS cms_cate( 13 id TINYINT, 14 cateName varchar(50), 15 cateDesc varchar(200) 16 )ENGINE=MyISAM CHARSET=UTF8; 17 18 #创建新闻表 19 CREATE TABLE IF NOT EXISTS cms_news( 20 id INT, 21 title VARCHAR(50), 22 content TEXT, 23 pubTime INT, 24 clickNum INT, 25 isTop TINYINT(1) COMMENT '0代表不置顶,1代表置顶' 26 )ENGINE=INNODB CHARSET=UTF8;
插入:
下面通过sql命令往student中插入数据:
1 CREATE database IF NOT exists zbltest1 default character set 'utf8'; 2 USE zbltest1; 3 #下面的`student`是反引号,在数字1左边和波浪线在一个按键上,目的是为了不和sql自带关键字重合 4 CREATE TABLE IF NOT EXISTS `student`( 5 id INT, 6 `name` VARCHAR(45), 7 gender VARCHAR(45) 8 ) ENGINE=INNODB CHARSET=UTF8; 9 INSERT student values(1,'ZBL1','MAN'); 10 INSERT student values(2,'ZBL2','MAN'); 11 INSERT student values(3,'ZBL3','MAN'); 12 select * FROM student;
通过mysql workbench可以看到数据结构。
下面通过python连接并操控mysql:
1 import pymysql 2 try: 3 # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库 4 conn=pymysql.connect(host='localhost',user='root',passwd='root',db='zbltest1',port=3306,charset='utf8') 5 cur=conn.cursor()#获取一个游标 6 cur.execute("INSERT student VALUES ('4', 'zbl4', 'man')") 7 cur.execute('select * from student') 8 # data=cur.fetchall() 9 for d in cur : 10 11 #注意int类型需要使用str函数转义 12 print("ID: "+str(d[0])+' 名字: '+d[1]+" 性别: "+d[2]) 13 print("row_number:" , (cur.rownumber) ) 14 #print('hello') 15 16 cur.close()#关闭游标 17 conn.close()#释放数据库资源 18 except Exception :print("发生异常")
运行下面的python代码需要先安装pymysql 模块,可以在命令行(即cmd中)输入: pip install pymysql
哈哈,终于连接上了,python就是通过函数向数据库管理系统传递sql语句来操控数据库。
注意python得用3.4,mysql用的5.7.