参考资料:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001391435131816c6a377e100ec4d43b3fc9145f3bb8056000
1、MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB。
2、使用MySQL前,需要从官网下载可用的版本(最好是免费的),我下载的是community-5.6.40.1 的Windows版本,该版本还需要电脑上安装有Visual C++ Redistributable for Visual Studio 2015。
3、MySQL安装过程中需要配置root(超级用户)的密码,这个必须牢记。
4、安装完成后即可通过python的MySQL connector实现MySQL数据库访问啦。
下面是我的学习代码:
扫描二维码关注公众号,回复:
1509595 查看本文章
import mysql.connector class MySqlDB(object): def __init__(self, db, username, passwd): self.errorcode = 0 self.connected = False try: self.conn = mysql.connector.connect(user=username, password=passwd, database = db, use_unicode=True) if self.conn: self.connected = True except BaseException, e: self.connected = False self.errorcode = 1 self.error = e.message def close(self): if self.connected: self.conn.close() self.connected = False #执行查询语句 def executeSQL(self, sql): self.errorcode = 0 if self.connected: try: cursor = self.conn.cursor() cursor.execute(sql) cursor.close() cursor = None except BaseException, e: self.errorcode = 5 self.error = e.message finally: if cursor: cursor.close() else: self.errorcode = 1 #查询并获取结果 def getValues(self, sql): self.errorcode = 0 values = None if self.connected: try: cursor = self.conn.cursor() cursor.execute(sql) values = cursor.fetchall() cursor.close() cursor = None except BaseException, e: self.errorcode = 4 self.error = e.message finally: if cursor: cursor.close() else: self.errorcode = 1 return values #创建表 def createTable(self, tablename, fields): self.errorcode = 0 if self.connected: try: cursor = self.conn.cursor() if cursor: sFields = '' for s in fields: if sFields != '': sFields = sFields + ',' sFields = sFields + s sql = 'CREATE TABLE %s(%s)' % (tablename, sFields) cursor.execute(sql) cursor.close() cursor = None self.conn.commit() else: self.errorcode = 2 except BaseException, e: self.errorcode = 3 self.error = e.message finally: if cursor: cursor.close() else: self.errorcode = 1 def Test(): #输入用户名 u = raw_input('input a username:') #输入密码 p = raw_input('input a password:') #输入数据库文件名 d = raw_input('input a database name:') #连接数据库 db = MySqlDB(d, u, p) if not db or not db.connected: print 'connect failure' if db: print 'error %d:%s' % (db.errorcode, db.error) return #输入表名 t = raw_input('input a tablename:') #输入字段定义 fields = [] while True: f = raw_input('input field define, none to break:') if f and f != '': fields.append(f) else: break #创建表 db.createTable(t, fields) if db.errorcode == 0: print 'create successfull!' else: print 'create failure, error: %d, %s' % (db.errorcode, db.error) #执行SQL语句 sql = raw_input('input a sql to execute:') db.executeSQL(sql) if db.errorcode != 0: print 'error on execute SQL %s: %d %s' % (sql, db.errorcode, db.error) else: print 'execute successful!' #查询 values = db.getValues('SELECT * FROM %s' % t) if db.errorcode == 0: print values else: print 'error on query table %s:%d %s' % (t, db.errorcode, db.error) #关闭数据库连接 db.close()今天就学习到这里,下一节准备学习一下Python访问其他常用数据库的方法。