Python for Infomatics 第14章 数据库和SQL应用三(译)
14.5 SQL 总结
到目前为止,我们在Python示例程序中使用了SQL,并且涉及了许多SQL基础。在这一小节中,我们特别审视SQL语言,并对其语法进行回顾。
虽然有很多不同的数据库供应商,但因SQL语言是标准化的,所以我们可以在不同的数据库系统中方便地移植。
一个关系数据库是由表、行和列构成的。列通常拥有一种类型属性,比如文本,数字或数据。当我们创建一张表,我们需要指定列的名称和类型:
CREATE TABLE Tracks(title TEXT, plays INTEGER)
我们用SQL INSERT命令将行插入到表中:
INSERT INTO Tracks(title, plays) VALUES ('My Way', 15)
INSERT 语句首先指定了表名Tracks,表名之后园括号内是你想要在新行中要设置的列titel和plays,接着就是关键字VALUES和对应的每个列的值。
SQL中的SELECT命令用来从数据库中获取行和列。SELECT语句允许你指定想获取的列,此外还可以用WHERE子句来筛选你想要的行。同时它还允许一个可选的ORDER BY 子句来控制返回的行的排序。
SELECT * FROM Tracks WHERE title = 'My Way'
星号(*)表示让数据库返回匹配WHERE子句的每一行的所有列。注意,在SQL的WHERE子句中,我们使用一个等号来表示相等逻辑,而不像在Python中用两个等号。WHERE 子句中其他逻辑操作还包括 <, >, <=, !=, 此外AND和OR,以及园括号也可用来创建你的逻辑表达式。
你可以用ORDER BY title 请求返回的行以title列排序:
SELECT title, plays FROM Tracks ORDER BY title
如果想要删除一行,你需要在DELETE语句中添加WHERE 子句,通过WHERE子句来决定哪些行将被删除:
DELETE FROM Tracks WHERE title = 'My Way'
你还可以用SQL 的UPDATE语句来更新表中一行或多行:
UPDATE Tracks SET plays = 16 WHERE title = 'My Way'
UPDATE语句首先指定一张表,然后在SET关键字后列出想要修改的列名和值,然后是可选的WHERE子句来选择想要更新的行。一条UPDATE语句可以修改所有匹配WHERE子句的行,在没有指定WHERE子句时,它将更新表中的所有行。
这四个基本的SQL命令(INSERT, SELECT, UPDATE和DELETE)允许四个基本操作来创建和维护数据。
注:文章原文为Dr. Charles Severance 的 《Python for Informatics》。文中代码用3.4版改写,并在本机测试通过。
Python for Infomatics 第14章 数据库和SQL应用三(译)的更多相关文章
- Python for Infomatics 第14章 数据库和SQL应用一(译)
14.1 什么是数据库 数据库一种存储结构数据的文件.绝大多数数据库类似字典——映射键和值的关系.最大的区别是数据库是保存在硬盘或其它永久性的存储上,所以在程序结束后它仍然存在.而保存在内存中的字典容 ...
- Python for Infomatics 第14章 数据库和SQL应用二(译)
14.4 创建数据库和表 相比Python的列表和字典,数据库需要更多的已定义结构. 在我们创建数据库表之前,我们必须预先告诉数据库表和列的命名,以及计划保存到列中和数据类型.当数据库软件预先知道每列 ...
- php大力力 [016节] 兄弟连高洛峰php教程(2014年 14章数据库章节列表)
2015-08-25 php大力力016 兄弟连高洛峰php教程(2014年 14章数据库章节列表) [2014]兄弟连高洛峰 PHP教程14.1.1 复习数据库 15:58 [2014]兄弟连高洛 ...
- 《SQL 基础教程》—第一章:数据库与 SQL
导言 这一章的内容如下: 数据库简介 SQL 概要 表的创建 表的删除与更新 数据库简介 定义: Database, 是大量数据的集合Database Management System,是用于管理数 ...
- Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作
https://www.jb51.net/article/125160.htm?utm_medium=referral Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...
- Python for Infomatics 第13章 网页服务四(译)
这几天因为其他事务,打断了自己的学习计划,今天继续我的翻译,避免又中途而废. 注:文章原文为Dr. Charles Severance 的 <Python for Informatics> ...
- Python for Infomatics 第12章 网络编程一(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 本书中的许多例子关注的是读取文件 ...
- Python for Infomatics 第13章 网页服务三(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.6 应用程序接口API 现 ...
- Python for Infomatics 第13章 网页服务二(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.4 JavaScript ...
随机推荐
- 耿丹CS16-2班第四次作业汇总
Deadline: 2016-10-13 12:00 作业内容 实验3-1 分别使用while循环.do while循环.for循环求1+2+3+ --+100. 实验3-2 分别使用while循环. ...
- mysql数据库史上最详细起步教程(1)
本文主要讲解mysql的操作,尽量保证步骤的详细与清晰,希望能帮到大家. 1.登录后进行数据库的创建:create database lf(数据库名); (一定要记住分号,mysql在语句的结束符就 ...
- bzoj2928: [Poi1999]飞弹
惨啊…… 被卡常是一种什么感受&…… 很明显的分治. 我们首先可以找到所有点中的最低点,然后对所有点进行一次极角排序,选取一个点使得他各侧飞弹和地堡一样多,并对两侧继续进行分治. 很容易证明这 ...
- IE浏览器版本判断 HTML代码
<!--[if IE 6.0]> <div id="noie6" style="z-index: 20002;border: 1px solid #F7 ...
- c语言socket通信
http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html
- linux Mint18 backspace怎么不能连续删除
打开菜单--->首选项--->键盘,如下图所示: 打开启用重复按键即可,就可以随心所欲的连续删除,连续移动光标了
- CapsLock与ctrl的键位修改
windows下修改方式: linux下修改方式: 在用户目录下新建文档命名为keychange.sh 编辑以下内容: remove Lock = Caps_Lock remove Control = ...
- CRUD操作
1.增加 insert into 表名 values(列的值,列的值) insert into 表名(列名,列名)valuse(值,值) 2.删除 delete from 表明 delete from ...
- 时间同步ntp服务的安装与配置(作为客户端的配置
在linux环境下,我们不仅可以自己设置时间,也可以对系统进行时间的同步,比如同步时间到某台物理机上或虚拟机,皆可!接下来我们就以同步时间到某台物理机为例, 一起学习学习. 1.配置本地yum源(挂载 ...
- SQL多表连接查询
SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图如下: 表2:course 截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...