设为首页 收藏本站
查看: 3102|回复: 0

[经验分享] python开发_python操作mysql数据库

[复制链接]

尚未签到

发表于 2015-4-23 07:51:33 | 显示全部楼层 |阅读模式
  如果你还没有准备好开发环境,你不妨花上一小点时间去看看:python开发_mysqldb安装
  本篇blog是有关python操作mysql数据的相关内容。
  我做了一个demo:
  先看运行效果:
DSC0000.png
  mysql中情况:
DSC0001.png
  ======================================================
  代码部分:
  ======================================================



  1 # -*- coding: utf-8 -*-
  2 #python operate mysql database
  3 import MySQLdb
  4
  5 #数据库名称
  6 DATABASE_NAME = ''
  7 #host = 'localhost' or '172.0.0.1'
  8 HOST = ''
  9 #端口号
10 PORT = ''
11 #用户名称
12 USER_NAME = ''
13 #数据库密码
14 PASSWORD = ''
15 #数据库编码
16 CHAR_SET = ''
17
18 #初始化参数
19 def init():
20     global DATABASE_NAME
21     DATABASE_NAME = 'test'
22     global HOST
23     HOST = 'localhost'
24     global PORT
25     PORT = '3306'
26     global USER_NAME
27     USER_NAME = 'root'
28     global PASSWORD
29     PASSWORD = 'root'
30     global CHAR_SET
31     CHAR_SET = 'utf8'
32     
33 #获取数据库连接
34 def get_conn():
35     init()
36     return MySQLdb.connect(host = HOST, user = USER_NAME, passwd = PASSWORD, db = DATABASE_NAME, charset = CHAR_SET)
37
38 #获取cursor
39 def get_cursor(conn):
40     return conn.cursor()
41
42 #关闭连接
43 def conn_close(conn):
44     if conn != None:
45         conn.close()
46
47 #关闭cursor
48 def cursor_close(cursor):
49     if cursor != None:
50         cursor.close()
51
52 #关闭所有
53 def close(cursor, conn):
54     cursor_close(cursor)
55     conn_close(conn)
56
57 #创建表
58 def create_table():
59     sql = '''
60     CREATE TABLE `student` (
61     `id` int(11) NOT NULL,
62     `name` varchar(20) NOT NULL,
63     `age` int(11) DEFAULT NULL,
64     PRIMARY KEY (`id`),
65     UNIQUE KEY `name` (`name`)
66     ) ENGINE=InnoDB DEFAULT CHARSET=utf8
67     '''
68     conn = get_conn()
69     cursor = get_cursor(conn)
70     result = cursor.execute(sql)
71     conn.commit()
72     close(cursor, conn)
73     return result
74
75 #查询表信息
76 def query_table(table_name):
77     if table_name != '':
78         sql = 'select * from ' + table_name
79         conn = get_conn()
80         cursor = get_cursor(conn)
81         result = cursor.execute(sql)
82         for row in cursor.fetchall():
83             print(row)
84             #for r in row:      #循环每一条数据
85                 #print(r)
86         close(cursor, conn)
87     else:
88         print('table name is empty!')
89
90 #插入数据
91 def insert_table():
92     sql = 'insert into student(id, name, age) values(%s, %s, %s)'
93     params = ('1', 'Hongten_a', '21')
94     conn = get_conn()
95     cursor = get_cursor(conn)
96     result = cursor.execute(sql, params)
97     conn.commit()
98     close(cursor, conn)
99     return result
100
101 #更新数据
102 def update_table():
103     sql = 'update student set name = %s where id = 1'
104     params = ('HONGTEN')
105     conn = get_conn()
106     cursor = get_cursor(conn)
107     result = cursor.execute(sql, params)
108     conn.commit()
109     close(cursor, conn)
110     return result
111
112 #删除数据
113 def delete_data():
114     sql = 'delete from student where id = %s'
115     params = ('1')
116     conn = get_conn()
117     cursor = get_cursor(conn)
118     result = cursor.execute(sql, params)
119     conn.commit()
120     close(cursor, conn)
121     return result
122
123 #数据库连接信息   
124 def print_info():
125     print('数据库连接信息:' + DATABASE_NAME + HOST + PORT + USER_NAME + PASSWORD + CHAR_SET)
126
127 #打印出数据库中表情况
128 def show_databases():
129     sql = 'show databases'
130     conn = get_conn()
131     cursor = get_cursor(conn)
132     result = cursor.execute(sql)
133     for row in cursor.fetchall():
134         print(row)
135         
136 #数据库中表情况
137 def show_tables():
138     sql = 'show tables'
139     conn = get_conn()
140     cursor = get_cursor(conn)
141     result = cursor.execute(sql)
142     for row in cursor.fetchall():
143         print(row)
144
145   
146 def main():
147     show_tables()
148     #创建表
149     result = create_table()
150     print(result)
151     #查询表
152     query_table('student')
153     #插入数据
154     print(insert_table())
155     print('插入数据后....')
156     query_table('student')
157     #更新数据
158     print(update_table())
159     print('更新数据后....')
160     query_table('student')
161     #删除数据
162     delete_data()
163     print('删除数据后....')
164     query_table('student')
165     print_info()
166     #数据库中表情况
167     show_tables()
168     
169
170 if __name__ == '__main__':
171     main()
  你还可以参考:
  http://drizzlewalk.blog.iyunv.com/2203401/448874

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59785-1-1.html 上篇帖子: python __call__ 函数 下篇帖子: python学习笔记一:数据类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表