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应用三(译)的更多相关文章

  1. Python for Infomatics 第14章 数据库和SQL应用一(译)

    14.1 什么是数据库 数据库一种存储结构数据的文件.绝大多数数据库类似字典——映射键和值的关系.最大的区别是数据库是保存在硬盘或其它永久性的存储上,所以在程序结束后它仍然存在.而保存在内存中的字典容 ...

  2. Python for Infomatics 第14章 数据库和SQL应用二(译)

    14.4 创建数据库和表 相比Python的列表和字典,数据库需要更多的已定义结构. 在我们创建数据库表之前,我们必须预先告诉数据库表和列的命名,以及计划保存到列中和数据类型.当数据库软件预先知道每列 ...

  3. php大力力 [016节] 兄弟连高洛峰php教程(2014年 14章数据库章节列表)

    2015-08-25 php大力力016 兄弟连高洛峰php教程(2014年 14章数据库章节列表) [2014]兄弟连高洛峰 PHP教程14.1.1 复习数据库  15:58 [2014]兄弟连高洛 ...

  4. 《SQL 基础教程》—第一章:数据库与 SQL

    导言 这一章的内容如下: 数据库简介 SQL 概要 表的创建 表的删除与更新 数据库简介 定义: Database, 是大量数据的集合Database Management System,是用于管理数 ...

  5. Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作

    https://www.jb51.net/article/125160.htm?utm_medium=referral  Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...

  6. Python for Infomatics 第13章 网页服务四(译)

    这几天因为其他事务,打断了自己的学习计划,今天继续我的翻译,避免又中途而废. 注:文章原文为Dr. Charles Severance 的 <Python for Informatics> ...

  7. Python for Infomatics 第12章 网络编程一(译)

    注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 本书中的许多例子关注的是读取文件 ...

  8. Python for Infomatics 第13章 网页服务三(译)

    注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.6 应用程序接口API 现 ...

  9. Python for Infomatics 第13章 网页服务二(译)

    注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.4 JavaScript ...

随机推荐

  1. JavaScript学习笔记(1))——————call,apply方法

    学习前端也有一段时间了,但是效果甚微.利用时间不够充分,虽然是利用工作之余来学习.但是这不能成为我的借口. 今天学习了(其实看了很多遍)call apply方法. function abc(a,b){ ...

  2. 腾讯开放平台web第三方登录获取信息类(包含签名)

    不清楚具体参数的可以先看下第三方登录的文档: class QQ { //$appid 你的appid //$openid 获取到的唯一的用户openid //$openkey 获取到的openkey ...

  3. hdu1045 DFS

    #include<stdio.h> #include<string.h> int n; int maxx; ][]; ]={,-,,}; ]={,,,-}; ][][];//炮 ...

  4. 引用类型的转换问题和instanceof

    基本数据类型:  

  5. Activity系列讲解---返回结果的处理

    设想一下:由当前Activity跳转到其它Activity,从其它Activity再返回到当前Activity时,如何获取其它Activity存放的数据?下面用一个例子讲解, 点击selsect按钮跳 ...

  6. 21. Merge Two Sorted Lists —— Python

    题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici ...

  7. ios获取设备信息总结

    1.获取设备的信息 UIDevice *device = [[UIDevice alloc] int]; NSString *name = device.name;       //获取设备所有者的名 ...

  8. 【笔记】读取properties文件

    package com.bshinfo.el.userInfo.util; import java.io.BufferedReader; import java.io.File; import jav ...

  9. hive 复杂类型

    hive提供一种复合类型的数据 struct:可以使用"."来存取数据 map:可以使用键值对来存取数据 array:array中存取的数据为相同类型,其中的数据可以通过下表获取数 ...

  10. 配置oozie4.10+hadoop2.5.2

    终于将这个神秘的寻象人 oozie 安装配置成功了,这个困扰我好几天, 当看到如下的画面, 我觉得值! 废话少说,看我如何编译和安装过程: (已经将hadoop2.5.2HA 的环境搭建起来了,hiv ...