---恢复内容开始---
1.sql replace into VS insert into
replace into :发现表中已有此行数据(根据主键值和唯一索引判断)则先删除此行数据,然后插入新的数据,否则直接插入新数据
- 既复制表的内容又复制表的结构:create table XXX as select * from XXX(all_info_copy)后者直接写表名即可,不加table
- 只复制表结构(列名)不复制表的内容:create table XXX as select * from XXX where 1=2
- 不复制表结构只复制表内容:insert into XXX select * from XXX OR select value1,value2 into XXX from XXX
2.数据库主键:一个列或多列的组合,其值能唯一地标识表中的每一行,通过它,可以强制表的实体完整性,主键主要是用于其他表达外键关联,以及本记录的修改与删除。主要作用是确定该数据的唯一性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。
3.json.loads()字典类型的字符串转换为字典 json.dumps()字典转换为字符串
import json
data = {
'name' : 'Connor',
'sex' : 'boy',
'age' : 26
}
print(data)
data1=json.dumps(data)
print(data1)
data2=json.loads(data1)
print(data2)
print(type(data))#输出原始数据格式
print(type(data1))#输出经过json.dumps的数据格式
print(type(data2))#输出经过json.loads的数据格式
#对应输出结果
{'name': 'Connor', 'sex': 'boy', 'age': 26}
{"name": "Connor", "sex": "boy", "age": 26}
{'name': 'Connor', 'sex': 'boy', 'age': 26}
<class 'dict'>
<class 'str'>
<class 'dict'>
4. sql=' select * from test where name= "%s" and id="%s" '%( 'xueqi' , '123' )
rows=cursor.execute(sql) #返回结果是受影响的行数