-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathdatabase.py
More file actions
89 lines (73 loc) · 2.25 KB
/
Copy pathdatabase.py
File metadata and controls
89 lines (73 loc) · 2.25 KB
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
import mysql.connector
#SET MYSQL CONNECTION
mydb = mysql.connector.connect(
host = "localhost",
user = "root",
passwd = "password123",
database = "testdb",
)
#CREATE CURSOR INSTANCE
my_cursor = mydb.cursor()
#CREATE DATABASE
my_cursor.execute("CREATE DATABASE testdb")
#SHOW DATABASE
my_cursor.execute("SHOW DATABASES")
#CREATE TABLE
my_cursor.execute("CREATE TABLE users (name VARCHAR(255), email VARCHAR(255), age INTEGER(10), user_id INTEGER AUTO_INCREMENT PRIMARY KEY)")
my_cursor.execute("SHOW TABLES")
#INSERT ONE RECORD
sqlStuff = "INSERT INTO users (name, email, age) VALUES (%s, %s, %s)"
record1 = ("John", "[email protected]", 40)
my_cursor.execute(sqlStuff, record1)
mydb.commit()
#INSERT MULTIPLE RECORDS
sqlStuff = "INSERT INTO users (name, email, age) VALUES (%s, %s, %s)"
records = [("Tim", "[email protected]", 32),
("Mary", "[email protected]", 21),
("Steve", "[email protected]", 57),
("Tina", "[email protected]", 29),]
my_cursor.executemany(sqlStuff, records)
mydb.commit()
#PULL DATA FROM THE TABLE
my_cursor.execute("SELECT * FROM users")
result = my_cursor.fetchall()
print("NAME\tEMAIL\t\t\tAGE\tID")
print("----\t-----\t\t\t---\t---")
for row in result:
print(row[0] + "\t%s" %row[1] + "\t\t%s" %row[2] + "\t%s" %row[3])
#WHERE CLAUSE
my_cursor.execute("SELECT * FROM users WHERE name = 'John'")
result = my_cursor.fetchall()
for row in result:
print(row)
#WHERE and LIKE WILDCARDS
my_cursor.execute("SELECT * FROM users WHERE name LIKE '%i%'")
result = my_cursor.fetchall()
for row in result:
print(row)
# AND / OR Clause
my_cursor.execute("SELECT * FROM users WHERE name LIKE '%i%' AND age = 29 AND user_id = 5")
result = my_cursor.fetchall()
for row in result:
print(row)
#UPDATING RECORDS
my_sql = "UPDATE users SET name = 'Johnny' WHERE user_id = 6"
my_cursor.execute(my_sql)
mydb.commit()
#LIMIT RESULTS
my_cursor.execute("SELECT * FROM users LIMIT 3 OFFSET 1")
result = my_cursor.fetchall()
for row in result:
print(row)
#ORDERING RESULTS
my_cursor.execute("SELECT * FROM users ORDER BY age DESC")
result = my_cursor.fetchall()
for row in result:
print(row)
#DELETE RECORDS
my_sql = "DELETE FROM users WHERE name = 'John'"
my_cursor.execute(my_sql)
mydb.commit()
# DELETE DROP TABLE
my_sql = "DROP TABLE IF EXISTS users"
my_cursor.execute(my_sql)