From 8d07c25a811b1d8c49e571c2eafd81184260cca6 Mon Sep 17 00:00:00 2001 From: "joey.wang" Date: Mon, 4 Mar 2024 16:18:12 +0800 Subject: [PATCH 1/2] wck update MySQLTest --- demo1.py | 2 +- demo2.py | 2 +- demo3.py | 2 +- demo4.py | 2 +- demo5.py | 10 ++++++---- demo6.py | 8 ++++---- demo7.py | 9 ++++----- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/demo1.py b/demo1.py index a4e9e8a..2490079 100644 --- a/demo1.py +++ b/demo1.py @@ -1,6 +1,6 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password=None, port=3306) +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306) cursor = db.cursor() cursor.execute('SELECT VERSION()') data = cursor.fetchone() diff --git a/demo2.py b/demo2.py index 1ad8d52..27b8675 100644 --- a/demo2.py +++ b/demo2.py @@ -1,6 +1,6 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password=None, port=3306, db='spiders') +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') cursor = db.cursor() sql = 'CREATE TABLE IF NOT EXISTS students (id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (id))' cursor.execute(sql) diff --git a/demo3.py b/demo3.py index 13559a4..a732218 100644 --- a/demo3.py +++ b/demo3.py @@ -6,7 +6,7 @@ age = 20 db = pymysql.connect(host='localhost', user='root', - password=None, port=3306, db='spiders') + password='jojo123456', port=3306, db='spiders') cursor = db.cursor() sql = 'INSERT INTO students(id, name, age) values(%s, %s, %s)' try: diff --git a/demo4.py b/demo4.py index a948f65..d18c14f 100644 --- a/demo4.py +++ b/demo4.py @@ -9,7 +9,7 @@ keys = ', '.join(data.keys()) values = ', '.join(['%s'] * len(data)) db = pymysql.connect(host='localhost', user='root', - password=None, port=3306, db='spiders') + password='jojo123456', port=3306, db='spiders') cursor = db.cursor() sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format( table=table, keys=keys, values=values) diff --git a/demo5.py b/demo5.py index d8465a9..43b53a4 100644 --- a/demo5.py +++ b/demo5.py @@ -10,11 +10,13 @@ keys = ', '.join(data.keys()) values = ', '.join(['%s'] * len(data)) db = pymysql.connect(host='localhost', user='root', - password=None, port=3306, db='spiders') + password='jojo123456', port=3306, db='spiders') cursor = db.cursor() -sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE '.format( - table=table, keys=keys, values=values) -update = ','.join(["{key} = %s".format(key=key) for key in data]) +# sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE '.format( +# table=table, keys=keys, values=values) +# update = ','.join(["{key} = %s".format(key=key) for key in data]) +sql = f'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE ' +update = ','.join([f'{key} = %s' for key in data]) sql += update try: if cursor.execute(sql, tuple(data.values())*2): diff --git a/demo6.py b/demo6.py index 90ae202..a16c659 100644 --- a/demo6.py +++ b/demo6.py @@ -3,13 +3,13 @@ table = 'students' condition = 'age > 20' -db = pymysql.connect(host='localhost', user='root', password=None, port=3306, db='spiders') +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') cursor = db.cursor() -sql = 'DELETE FROM {table} WHERE {condition}'.format(table=table, condition=condition) +# sql = 'DELETE FROM {table} WHERE {condition}'.format(table=table, condition=condition) +sql = f'DELETE FROM {table} WHERE {condition}' try: cursor.execute(sql) db.commit() except: db.rollback() - -db.close() \ No newline at end of file +db.close() diff --git a/demo7.py b/demo7.py index 1d3f588..1e42026 100644 --- a/demo7.py +++ b/demo7.py @@ -1,9 +1,8 @@ import pymysql -sql = 'SELECT * FROM students WHERE age >= 20' - -db = pymysql.connect(host='localhost', user='root', password=None, port=3306, db='spiders') +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') cursor = db.cursor() +sql = 'SELECT * FROM students WHERE age >= 20' try: cursor.execute(sql) print('Count:', cursor.rowcount) @@ -16,7 +15,7 @@ print(row) except: print('Error') - + sql = 'SELECT * FROM students WHERE age >= 20' try: cursor.execute(sql) @@ -26,4 +25,4 @@ print('Row:', row) row = cursor.fetchone() except: - print('Error') \ No newline at end of file + print('Error') From a7749badbc73ca3c37f85b528b08e5e8ca1f0c64 Mon Sep 17 00:00:00 2001 From: "joey.wang" Date: Wed, 29 May 2024 10:41:06 +0800 Subject: [PATCH 2/2] wck update MySQLTest - 2nd --- demo1.py | 5 ++++- demo2.py | 3 ++- demo3.py | 2 +- demo4.py | 13 +++++++------ demo5.py | 6 ++++-- demo6.py | 4 ++-- demo7.py | 2 +- 7 files changed, 21 insertions(+), 14 deletions(-) diff --git a/demo1.py b/demo1.py index 2490079..ace155b 100644 --- a/demo1.py +++ b/demo1.py @@ -1,9 +1,12 @@ import pymysql db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306) +# n.光标,游标,指针 cursor = db.cursor() + cursor.execute('SELECT VERSION()') data = cursor.fetchone() print('Database version:', data) -cursor.execute("CREATE DATABASE spiders DEFAULT CHARACTER SET utf8mb4") + +cursor.execute("CREATE DATABASE spider DEFAULT CHARACTER SET utf8mb4") db.close() diff --git a/demo2.py b/demo2.py index 27b8675..6a9e647 100644 --- a/demo2.py +++ b/demo2.py @@ -1,6 +1,7 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') +# 创建数据库后,在连接时需要额外指定一个参数db +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spider') cursor = db.cursor() sql = 'CREATE TABLE IF NOT EXISTS students (id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (id))' cursor.execute(sql) diff --git a/demo3.py b/demo3.py index a732218..fa8fb4f 100644 --- a/demo3.py +++ b/demo3.py @@ -6,7 +6,7 @@ age = 20 db = pymysql.connect(host='localhost', user='root', - password='jojo123456', port=3306, db='spiders') + password='jojo123456', port=3306, db='spider') cursor = db.cursor() sql = 'INSERT INTO students(id, name, age) values(%s, %s, %s)' try: diff --git a/demo4.py b/demo4.py index d18c14f..9670ff2 100644 --- a/demo4.py +++ b/demo4.py @@ -1,18 +1,19 @@ import pymysql data = { - 'id': '20120001', - 'name': 'Bob', - 'age': 20 + 'id': '20120003', + 'name': 'Jeery', + 'age': 22 } table = 'students' keys = ', '.join(data.keys()) values = ', '.join(['%s'] * len(data)) db = pymysql.connect(host='localhost', user='root', - password='jojo123456', port=3306, db='spiders') + password='jojo123456', port=3306, db='spider') cursor = db.cursor() -sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format( - table=table, keys=keys, values=values) +# sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format( +# table=table, keys=keys, values=values) +sql = f'INSERT INTO {table}({keys}) VALUES ({values})' try: if cursor.execute(sql, tuple(data.values())): print('Successful') diff --git a/demo5.py b/demo5.py index 43b53a4..c4e7ed0 100644 --- a/demo5.py +++ b/demo5.py @@ -3,18 +3,20 @@ data = { 'id': '20120001', 'name': 'Bob', - 'age': 21 + 'age': 22 } table = 'students' keys = ', '.join(data.keys()) values = ', '.join(['%s'] * len(data)) db = pymysql.connect(host='localhost', user='root', - password='jojo123456', port=3306, db='spiders') + password='jojo123456', port=3306, db='spider') cursor = db.cursor() + # sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE '.format( # table=table, keys=keys, values=values) # update = ','.join(["{key} = %s".format(key=key) for key in data]) +# duplicate adj.完全一样的,复制的 sql = f'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE ' update = ','.join([f'{key} = %s' for key in data]) sql += update diff --git a/demo6.py b/demo6.py index a16c659..187a852 100644 --- a/demo6.py +++ b/demo6.py @@ -1,9 +1,9 @@ import pymysql table = 'students' -condition = 'age > 20' +condition = 'age > 21' -db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spider') cursor = db.cursor() # sql = 'DELETE FROM {table} WHERE {condition}'.format(table=table, condition=condition) sql = f'DELETE FROM {table} WHERE {condition}' diff --git a/demo7.py b/demo7.py index 1e42026..37f7778 100644 --- a/demo7.py +++ b/demo7.py @@ -1,6 +1,6 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spiders') +db = pymysql.connect(host='localhost', user='root', password='jojo123456', port=3306, db='spider') cursor = db.cursor() sql = 'SELECT * FROM students WHERE age >= 20' try: