一些最重要的 SQL 命令
- SELECT - 从数据库中提取数据
- UPDATE - 更新数据库中的数据
- DELETE - 从数据库中删除数据
- INSERT INTO - 向数据库中插入新数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
SQL SELECT DISTINCT 语句
DISTINCT 关键词用于返回唯一不同的值。
SELECT DISTINCT column_name,column_name
FROM table_name;
SELECT DISTINCT country FROM Websites;
SQL WHERE 子句
WHERE 子句用于过滤记录。
SELECT * FROM Websites WHERE country='CN';
SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。
select * from table_name order by number DESC
SQL UPDATE 语句
UPDATE 语句用于更新表中已存在的记录。
#把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。
UPDATE Websites
SET alexa='5000', country='USA'
WHERE name='菜鸟教程';
pymysql
import pymysql
db=pymysql.connect(host="",user="",password="",db="")
cursor=db.cursor()
sql=""" select * from table1 where value="..." order by value
"insert into table1(NAME) values('%s')"%('...')
"update table1 set NAME=A where SEX= '%c' "%('...')
"delete from table1 where AGE > %s "%(20)
"""
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
- 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
- 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
- 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
- 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
commit()和rollback()
对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。