数据库类别
既然我们要使用关系数据库,就必须选择一个关系数据库。目前广泛使用的关系数据库也就这么几种:
付费的商用数据库:
1. Oracle,典型的高富帅;
2. SQL Server,微软自家产品,Windows定制专款;
3. DB2,IBM的产品,听起来挺高端;
4. Sybase,曾经跟微软是好基友,后来关系破裂,现在家境惨淡。
这些数据库都是不开源而且付费的,最大的好处是花了钱出了问题可以找厂家解决,不过在Web的世界里,常常需要部署成千上万的数据库服务器,当然不能把大把大把的银子扔给厂家,所以,无论是Google、Facebook,还是国内的BAT,无一例外都选择了免费的开源数据库:
1. MySQL,大家都在用,一般错不了;
2. PostgreSQL,学术气息有点重,其实挺不错,但知名度没有MySQL高;
3. sqlite,嵌入式数据库,适合桌面和移动应用。
作为Python开发工程师,选择哪个免费数据库呢?当然是MySQL。因为MySQL普及率最高,出了错,可以很容易找到解决方法。而且,围绕MySQL有一大堆监控和运维的工具,安装和使用很方便。
Python基础 SQLite 插入和查询
插入语句
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Python基础 SQLite 插入和查询
import sqlite3
def insertDb():
# 连接数据库,不存在则当前目录创建
conn = sqlite3.connect("SuSQLite.db")
# 创建一个cursor
cursor = conn.cursor()
# 执行创建表语句
# user 为表名
# 字段名分别为 id 和 name
cursor.execute("create table user(id varchar(20) primary key, name varchar(20))")
# 插入一条数据
print("插入数据")
cursor.execute('insert into user (id, name) values (\'A01\', \'李白\')')
# 关闭游标
cursor.close()
# 提交上述操作
conn.commit()
# 关闭连接
conn.close()
查询语句
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Python基础 SQLite 插入和查询
import sqlite3
# 查询所有
def queryDb():
conn = sqlite3.connect("SuSQLite.db")
cursor = conn.cursor()
cursor.execute("select * from user")
values = cursor.fetchall()
print(values)
# 关闭游标
cursor.close()
# 提交上述操作
conn.commit()
# 关闭连接
conn.close()
# 根据名字查询
def queryDbByName(value):
conn = sqlite3.connect("SuSQLite.db")
cursor = conn.cursor()
cursor.execute("select * from user where name=?",(value, ))
values = cursor.fetchall()
print(values)
# 关闭游标
cursor.close()
# 提交上述操作
conn.commit()
# 关闭连接
conn.close()
queryDb()
queryDbByName("李白")
运行结果
D:\PythonProject>python main.py
[('1', '李白'), ('A-1', 'Michael')]
[('1', '李白')]
这里的语句和java的sql语句一样