天天看點

python操作mysql資料庫

python操作mysql資料庫的相關操作執行個體# -*- coding: utf-8 -*-#python operate mysql databaseimport MySQLdb #資料庫名稱DATABAS...

python操作mysql資料庫的相關操作執行個體

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

# -*- coding: utf-8 -*-

#python operate mysql database

import

MySQLdb

#資料庫名稱

DATABASE_NAME 

=

''

#host = 'localhost' or '172.0.0.1'

HOST 

=

''

#端口号

PORT 

=

''

#使用者名稱

USER_NAME 

=

''

#資料庫密碼

PASSWORD 

=

''

#資料庫編碼

CHAR_SET 

=

''

#初始化參數

def

init():

global

DATABASE_NAME

DATABASE_NAME 

=

'test'

global

HOST

HOST 

=

'localhost'

global

PORT

PORT 

=

'3306'

global

USER_NAME

USER_NAME 

=

'root'

global

PASSWORD

PASSWORD 

=

'root'

global

CHAR_SET

CHAR_SET 

=

'utf8'

#擷取資料庫連接配接

def

get_conn():

init()

return

MySQLdb.connect(host 

=

HOST, user 

=

USER_NAME, passwd 

=

PASSWORD, db 

=

DATABASE_NAME, charset 

=

CHAR_SET)

#擷取cursor

def

get_cursor(conn):

return

conn.cursor()

#關閉連接配接

def

conn_close(conn):

if

conn !

=

None

:

conn.close()

#關閉cursor

def

cursor_close(cursor):

if

cursor !

=

None

:

cursor.close()

#關閉所有

def

close(cursor, conn):

cursor_close(cursor)

conn_close(conn)

#建立表

def

create_table():

sql 

=

'''

CREATE TABLE `student` (

`id` int(11) NOT NULL,

`name` varchar(20) NOT NULL,

`age` int(11) DEFAULT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `name` (`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

'''

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql)

conn.commit()

close(cursor, conn)

return

result

#查詢表資訊

def

query_table(table_name):

if

table_name !

=

'':

sql 

=

'select * from '

+

table_name

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql)

for

row 

in

cursor.fetchall():

print

(row)

#for r in row:      #循環每一條資料

#print(r)

close(cursor, conn)

else

:

print

(

'table name is empty!'

)

#插入資料

def

insert_table():

sql 

=

'insert into student(id, name, age) values(%s, %s, %s)'

params 

=

(

'1'

'Hongten_a'

'21'

)

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql, params)

conn.commit()

close(cursor, conn)

return

result

#更新資料

def

update_table():

sql 

=

'update student set name = %s where id = 1'

params 

=

(

'HONGTEN'

)

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql, params)

conn.commit()

close(cursor, conn)

return

result

#删除資料

def

delete_data():

sql 

=

'delete from student where id = %s'

params 

=

(

'1'

)

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql, params)

conn.commit()

close(cursor, conn)

return

result

#資料庫連接配接資訊  

def

print_info():

print

(

'資料庫連接配接資訊:'

+

DATABASE_NAME 

+

HOST 

+

PORT 

+

USER_NAME 

+

PASSWORD 

+

CHAR_SET)

#列印出資料庫中表情況

def

show_databases():

sql 

=

'show databases'

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql)

for

row 

in

cursor.fetchall():

print

(row)

#資料庫中表情況

def

show_tables():

sql 

=

'show tables'

conn 

=

get_conn()

cursor 

=

get_cursor(conn)

result 

=

cursor.execute(sql)

for

row 

in

cursor.fetchall():

print

(row)

def

main():

show_tables()

#建立表

result 

=

create_table()

print

(result)

#查詢表

query_table(

'student'

)

#插入資料

print

(insert_table())

print

(

'插入資料後....'

)

query_table(

'student'

)

#更新資料

print

(update_table())

print

(

'更新資料後....'

)

query_table(

'student'

)

#删除資料

delete_data()

print

(

'删除資料後....'

)

query_table(

'student'

)

print_info()

#資料庫中表情況

show_tables()

if

__name__ 

=

=

'__main__'

:

main()

不努力,誰會可憐你?