在Python中调用SQL语句在Test_Python数据中分别创建student,course,sc三张关系表,并进行完整性定义。
时间: 2024-03-17 17:41:10 浏览: 25
好的,我可以为您提供一些Python代码示例来完成这个任务。在Python中,我们可以使用sqlite3模块来访问和操作SQLite数据库。
首先,我们需要导入sqlite3模块并连接到我们的数据库:
```python
import sqlite3
conn = sqlite3.connect('Test_Python.db')
```
接下来,我们可以使用execute()方法来执行SQL语句。下面是创建student表的SQL语句:
```python
sql_create_student = '''
CREATE TABLE student (
sno CHAR(8) PRIMARY KEY,
sname VARCHAR(20) NOT NULL,
ssex CHAR(2) NOT NULL,
sbirthday DATE NOT NULL,
sclass VARCHAR(20) NOT NULL
);
'''
conn.execute(sql_create_student)
```
这里的sql_create_student是一个包含创建student表的SQL语句的字符串。我们使用execute()方法来执行这个语句,从而在数据库中创建了一个名为student的表。
接下来,我们可以使用类似的方法来创建course和sc表:
```python
sql_create_course = '''
CREATE TABLE course (
cno CHAR(4) PRIMARY KEY,
cname VARCHAR(40) NOT NULL,
cteacher VARCHAR(20) NOT NULL
);
'''
conn.execute(sql_create_course)
sql_create_sc = '''
CREATE TABLE sc (
sno CHAR(8) NOT NULL,
cno CHAR(4) NOT NULL,
grade INT NOT NULL,
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES student(sno),
FOREIGN KEY (cno) REFERENCES course(cno)
);
'''
conn.execute(sql_create_sc)
```
在上述代码中,我们通过SQL语句创建了course和sc表,并定义了完整性约束条件。
最后,记得要关闭数据库连接:
```python
conn.close()
```
完整的Python代码示例如下:
```python
import sqlite3
conn = sqlite3.connect('Test_Python.db')
sql_create_student = '''
CREATE TABLE student (
sno CHAR(8) PRIMARY KEY,
sname VARCHAR(20) NOT NULL,
ssex CHAR(2) NOT NULL,
sbirthday DATE NOT NULL,
sclass VARCHAR(20) NOT NULL
);
'''
conn.execute(sql_create_student)
sql_create_course = '''
CREATE TABLE course (
cno CHAR(4) PRIMARY KEY,
cname VARCHAR(40) NOT NULL,
cteacher VARCHAR(20) NOT NULL
);
'''
conn.execute(sql_create_course)
sql_create_sc = '''
CREATE TABLE sc (
sno CHAR(8) NOT NULL,
cno CHAR(4) NOT NULL,
grade INT NOT NULL,
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES student(sno),
FOREIGN KEY (cno) REFERENCES course(cno)
);
'''
conn.execute(sql_create_sc)
conn.close()
```
希望这个Python代码示例能够帮助您完成任务。