目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
结构化查询语言SQL

二、结构化查询语言SQL

结构化查询语言(Structured Query Language 简称SQL ),是一种特殊的编程语言,用于存取数据以及查询、更新和管理关系型数据库。

 SQL是一种高级的非过程化编程语言,用户使用SQL对数据操作时,并不需要知道数据的存储方式和操作细节。不同的关系型数据库底层存储方式不同,但是可以使用相同的SQL语句进行操作,对于用户来说,操作方式类似,可以快速在不同的数据库上进行移植。

SQL语言不仅可独立使用,还可嵌入到其他高级语言(如Java、Python等)中,两种方式下SQL语法结构基本一致,为用户提供了极大的灵活性和便利性。

(一)创建数据库表:create table [if not exists] 表名

语句格式:

create table if not exists 表名 (

列名1 数据类型,

列名2 数据类型,

列名3 数据类型,

....)

功能:创建一个指定表名的数据库表,存放列名(也称 属性、字段)的数据。

说明:建表前,如果不进行判断,此时,若已经存在同名的表,将会导致错误。

例:创建名为school 的数据名,属性有:学校代码,学校名称,所在省份,等。

create table if not exists school (

school_code char(6) primary key,

school varchar(50),

province varchar(30),

is_985 varchar(10),

is_211 varchar(10),

is_self_marking varchar(10),

school_type varchar(10) 

)

(二)删除数据库表:drop table [if exists] 表名

例:drop table if exists school 

说明:删除前,如果不进行判断,直接删除一个不存在的表时将会报错。

(三)查询语句:select 字段列表 from 表名 where 查询条件 group by 分组字段 order by 字段 [asc|desc]

字段列表:用于指定查询结果中所包含的列,可以是一组列名、表达式、星号等构成。多个列名之间用逗号隔开,如果查询所有列,可直接用星号表示。

例:查询学校的名称以及所在省份

select   school, province  from school

例:查询学校的所有信息

select   *   from  school

例:统计各个省份的高校数量

select  province, count(*)  from  school  group by province


where子句用于设置查询条件过滤不需要的行,常见的条件运算符有:

(1)比较运算符:>、>=、=、<、<=、<>等

        例:select * from school where province = "江西省"

(2)范围运算符:between… and …、not between … and … …

        例:select * from school where school_code between "10404" and "10410"

(3)列表运算符:in (项1,项2……)、not in(项1,项2……)

        例:select * from school where province in ("江西省","湖南省")

(4)逻辑运算符(多条件查询):not、and、or

        例:select * from school where is_985="是" and is_211="是"

(5)模式匹配符(模糊查询):like、not like

        例:select * from school where school like "%师范%"


group by 子句用于结合聚合函数,根据一个或多个列对结果集进行分组。

例:select province, count(*) as 学校数 from school group by province

常见的聚合函数有:sum(列名)、max(列名)、min(列名)、avg(列名)、count(列名) 。

order by子句 用于对查询返回的结果按一列或多列排序。asc表示升序,为默认值,desc为降序。

例:select province, count(*) as 学校数 from school group by province order by 学校数 desc

( 四)插入语句:insert into 语句用于向表格中插入新的行。

语法格式为:

    insert into 表名 (字段1,字段2,字段3 ……) values (值1,值2,值3 ……)

例:insert into school(school, province) values(‘江西财经大学’,“江西省”)

注意:这里的字段顺序和对应值的顺序要一一对应。对于不允许为空的字段必须提供相应的值,否则插入时将会出错。如果插入的内容包含所有字段,则可以省略字段列表,但值的顺序一定和表中字段的顺序一致。

例:insert into school values (”10421”,”江西财经大学”,“江西省”,“否”,“否”,“否”,“财经类”)

(五)更新语句:update 语句用于对表中的某个或某些数据进行修改。

语法格式为:

    update 表名 set 列名1 = 新值1, 列名2 = 新值2 where 子句

例:update school set school=“赣南师范大学” where school=“赣南师范学院”

(六)删除语句:delete 语句用于对表中的某个或某些数据进行删除。

语法格式为:

    delete from 表名 where 子句

例:delete from school  where province=“江西省”

注意:如果没有where子句,此时将会删除表中所有内容,此时,表中没有任何数据,但表结构仍然存在。注意和drop table的区别。