diff --git a/demo1.py b/demo1.py index a4e9e8a..ace155b 100644 --- a/demo1.py +++ b/demo1.py @@ -1,9 +1,12 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password=None, port=3306) +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 1ad8d52..6a9e647 100644 --- a/demo2.py +++ b/demo2.py @@ -1,6 +1,7 @@ import pymysql -db = pymysql.connect(host='localhost', user='root', password=None, 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 13559a4..fa8fb4f 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='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 a948f65..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=None, 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 d8465a9..c4e7ed0 100644 --- a/demo5.py +++ b/demo5.py @@ -3,18 +3,22 @@ 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=None, 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]) + +# 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 try: if cursor.execute(sql, tuple(data.values())*2): diff --git a/demo6.py b/demo6.py index 90ae202..187a852 100644 --- a/demo6.py +++ b/demo6.py @@ -1,15 +1,15 @@ import pymysql table = 'students' -condition = 'age > 20' +condition = 'age > 21' -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='spider') 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..37f7778 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='spider') 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')