@@ -43,3 +43,50 @@ s = cs50.get_string();
43431 . Run ` service postgresql start ` .
44441 . Run `psql -c 'create database test;' -U postgres.
45451 . Run ` touch test.db ` .
46+
47+ ### Sample Tests
48+
49+ ```
50+ import cs50
51+ db = cs50.SQL("sqlite:///foo.db")
52+ db.execute("CREATE TABLE IF NOT EXISTS cs50 (id INTEGER PRIMARY KEY, val TEXT, bin BLOB)")
53+ db.execute("INSERT INTO cs50 (val) VALUES('a')")
54+ db.execute("INSERT INTO cs50 (val) VALUES('b')")
55+ db.execute("BEGIN")
56+ db.execute("INSERT INTO cs50 (val) VALUES('c')")
57+ db.execute("INSERT INTO cs50 (val) VALUES('x')")
58+ db.execute("INSERT INTO cs50 (val) VALUES('y')")
59+ db.execute("ROLLBACK")
60+ db.execute("INSERT INTO cs50 (val) VALUES('z')")
61+ db.execute("COMMIT")
62+
63+ ---
64+
65+ import cs50
66+ db = cs50.SQL("mysql://root@localhost/test")
67+ db.execute("CREATE TABLE IF NOT EXISTS cs50 (id INTEGER PRIMARY KEY, val TEXT, bin BLOB)")
68+ db.execute("INSERT INTO cs50 (val) VALUES('a')")
69+ db.execute("INSERT INTO cs50 (val) VALUES('b')")
70+ db.execute("BEGIN")
71+ db.execute("INSERT INTO cs50 (val) VALUES('c')")
72+ db.execute("INSERT INTO cs50 (val) VALUES('x')")
73+ db.execute("INSERT INTO cs50 (val) VALUES('y')")
74+ db.execute("ROLLBACK")
75+ db.execute("INSERT INTO cs50 (val) VALUES('z')")
76+ db.execute("COMMIT")
77+
78+ ---
79+
80+ import cs50
81+ db = cs50.SQL("postgresql://postgres@localhost/test")
82+ db.execute("CREATE TABLE IF NOT EXISTS cs50 (id INTEGER PRIMARY KEY, val TEXT, bin BLOB)")
83+ db.execute("INSERT INTO cs50 (val) VALUES('a')")
84+ db.execute("INSERT INTO cs50 (val) VALUES('b')")
85+ db.execute("BEGIN")
86+ db.execute("INSERT INTO cs50 (val) VALUES('c')")
87+ db.execute("INSERT INTO cs50 (val) VALUES('x')")
88+ db.execute("INSERT INTO cs50 (val) VALUES('y')")
89+ db.execute("ROLLBACK")
90+ db.execute("INSERT INTO cs50 (val) VALUES('z')")
91+ db.execute("COMMIT")
92+ ```
0 commit comments