cursor = conn.cursor() conn.select_db("class") cursor.execute("create table kecheng(name varchar(20),kcdm int,bx varchar(20),zt varchar(20) )") cursor.execute("insert into kecheng values('离散数学',1001,'必修','已结课')") cursor.execute("insert into kecheng values('高等数学',1002,'必修','未结课')") cursor.execute("insert into kecheng values('数据结构',1003,'必修','已结课')") conn.commit() conn.clcurose()
时间: 2023-12-14 18:02:01 浏览: 48
你的代码中有一个小错误,就是在第三个`cursor.execute()`语句中,你在字符串的结尾处多了一个右括号。这个错误会导致MySQL无法正确解析你的语句,从而抛出一个语法错误。你需要将这个右括号删除,即:
```
cursor.execute("insert into kecheng values('数据结构',1003,'必修','已结课')")
```
另外,你在最后一行使用了`conn.clcurose()`,这应该是一个拼写错误,应该改成`conn.close()`。这个错误不会影响程序的执行,但是为了保证代码的正确性,最好还是进行一下修改。
最终的代码应该是这样的:
```
cursor = conn.cursor()
conn.select_db("class")
cursor.execute("create table kecheng(name varchar(20),kcdm int,bx varchar(20),zt varchar(20) )")
cursor.execute("insert into kecheng values('离散数学',1001,'必修','已结课')")
cursor.execute("insert into kecheng values('高等数学',1002,'必修','未结课')")
cursor.execute("insert into kecheng values('数据结构',1003,'必修','已结课')")
conn.commit()
conn.close()
```
相关问题
如何修改cursor=conn.execute("select * from A left join Bon yuangong.bumenTableId=bumenTable.bumenTableid ")
你可以根据需要修改 SQL 查询语句来更改 cursor 的赋值,例如:
- 如果你想查询 A 表和 B 表中的所有数据,可以使用以下语句:
```
cursor = conn.execute("SELECT * FROM A JOIN B")
```
- 如果你想查询 A 表中所有 age 大于 18 的数据,可以使用以下语句:
```
cursor = conn.execute("SELECT * FROM A WHERE age > 18")
```
- 如果你想查询 A 表和 B 表中,符合条件的数据,可以使用以下语句:
```
cursor = conn.execute("SELECT * FROM A JOIN B ON A.id = B.a_id WHERE A.age > 18")
```
你可以根据实际情况,灵活运用 SQL 查询语句,来满足你的需求。
cursor = conn.cursor(pymysql.cursors.DictCursor)
当使用`cursor = conn.cursor(pymysql.cursors.DictCursor)`时,表示创建一个`DictCursor`类型的游标对象。该游标对象用于执行查询语句并返回以字典形式表示的结果。默认情况下,`cursor`方法返回的是`BaseCursor`类型对象,执行查询后的每条记录以列表形式表示。而通过设置`cursor`参数为`pymysql.cursors.DictCursor`,可以返回以字典形式表示的记录。这样,可以通过调用`fetchone()`或`fetchall()`方法获取查询结果,并以字典的形式访问每条记录的字段值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>