Python学习(十六)—— 数据库
一、数据库介绍
数据库(Database,DB)是按照数据结构来组织、存储和管理数据的,并且是建立在计算机存储设备上的仓库。
数据库指的是以一定方式存储在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。简单来说可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。
二、数据库系统
数据库系统有3个主要的组成部分:数据库、数据库管理系统、数据库应用程序
数据库(Database System):用于存储数据的仓库
数据库管理系统(Database Management System):用户管理数据库的软件
数据库应用程序(Database Application):为了提高数据库系统的处理能力所使用的管理数据库的软件补充
三、SQL语言
SQL(Structured Query Language)即结构化查询语言,数据库管理系统专门通过SQL语言来管理数据库中的数据,与数据库通信。
SQL的优点::
1.SQL不是某个特定数据库供应商专有的语言。几乎所有重要的 DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
2.SQL简单易学,它的语句全都是由描述性很强的英语单词组成, 而且这些单词的数目不多。
3.SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活 使用其语言元素,可以进行非常复杂和高级的数据库操作。
SQL为数据库管理系统提供的功能:
SQL语言是一种数据库查询和程序设计语言,其主要用于存取数据,查询数据,更新数据和管理数据库系统,SQL分为4个部分。
数据定义语言(Data Definition Language,DDL):DROP、CREATE、ALTER等语句;数据库定义语言。主要用于定义数据库,表,视图,索引和触发器等。CREATE语句主要用于创建数据库,创建表,创建视图。ALTER语句主要用于修改表
的定义,修改视图的定义。DROP语句主要用于删除数据库,删除表和删除视图等。
数据操作语言(Data Manipulation Language,DML):INSERT、UPDATE、DELETE语句;数据库操作语言。主要用于插入数据,更新数据,删除数据。INSERT语句用于插入数据,UPDATE语句用于更新数据,DELETE语句用于删除数据。
数据查询语言(Data Query Language,DQL):SELECT语句。主要用于查询数据。
数据控制语言(Data Control Language ,DCL)语句:数据库控制语言。主要用于控制用户的访问权限。其中GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限。
四、数据库分类
关系数据库(Relational database),是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
MYSQL,SOL Server,Oracle,DB2,Sybase
RDBMS:关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
非关系型数据库(NoSqll):MongoDB、Redis
五、数据库操作
显示数据库:show databases;
进入指定数据库:use database 数据库名称;
显示当前数据库的所有表:show tables;
创建数据库:create database 数据库名称 default character set=utf8;
删除数据库:drop database 数据库名称;
六、数据库表操作
1.创建表:create table 表名(
id varchar(5) not null primary key,
name varchar(10),
age int
);
2.删除表:drop table 表名;
3.增加表数据:i
#一次增加一条数据
insert into studentInfo (name,sex,age) values ('abc','男','18');
#一次增加多条数据
insert into studentInfo (name,sex,age) values ('abc','男','18'),('qwe','女','19');
4.修改数据:update studentInfo set name='ABC' where name='abc';
5.删除数据:delete from 表名 where 条件;
6.修改表字段:alter table 表名 add 字段名称 类型(长度) 约束条件;
alter table 表名 drop 字段名称;
alter table 表名 change 旧字段 新字段 类型(长度) 约束条件;
7.查看表:desc 表名;
Python学习(十六)—— 数据库的更多相关文章
- Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery
PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽 Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...
- Python 爬虫十六式 - 第七式:正则的艺术
RE:用匹配来演绎编程的艺术 学习一时爽,一直学习一直爽 Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 pyquery 今天我们将迎来我们数据匹配部分的最后一位 ...
- Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤
BeautifulSoup 美味的汤 学习一时爽,一直学习一直爽! Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 Xpath 的使用方法.Xpath 我觉得还是 ...
- Python爬虫十六式 - 第四式: 使用Xpath提取网页内容
Xpath:简单易用的网页内容提取工具 学习一时爽,一直学习一直爽 ! Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 requests 的使用方法.到上节课为止, ...
- Python爬虫十六式 - 第三式:Requests的用法
Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽 Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...
- Python 爬虫十六式 - 第二式:urllib 与 urllib3
Python请求标准库 urllib 与 urllib3 学习一时爽,一直学习一直爽! 大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了什么是HTTP协议,那么这一次我们就要动 ...
- Python 爬虫十六式 - 第一式:HTTP协议
HTTP:伟大而又无闻的协议 学习一时爽,一直学习一直爽! Hello,大家好啊,我是Connor,一个从无到有的技术小白.有的人一说什么是HTTP协议就犯愁,写东西的时候也没想过什么是HTTP协 ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- Python学习第六课
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会 ...
- Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)
Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装: 将一些东西封装到一个地方,你还可以取出来( ...
随机推荐
- $Django 客户端->wsgi->中间组件->urls->views(model,template) 总结+补充(事物,choices,inclusion_tag)!
1 HTTP协议:(重点) -请求 -请求首行 -GET /index HTTP/1.1 \r\n -请求头部 -key:value------>\r\n分割 _ke ...
- css效果文字多了就...
开发中经常会遇见这样的问题,一段文字或者一段标题过长了,就让超出长度的部分益...替换.具体怎么做的呢?直接上代码: <style> *{ margin: 0; padding: 0; } ...
- maven项目板块的pom.xml配置
项目名为helloweb 项目文件结构图1 helloweb>pom.xml内容如下: <project xmlns="http://maven.apache.org/POM/4 ...
- appium+java(四)微信公众号自动化测试实践
前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app ...
- Go数组和切片定义和初始化
1 前言 切片是动态数组,数组数组是按值赋值,切片是按地址赋值(引用) 2 代码 2.1 数组初始化 func basic_array(){ //var arr2 = [3]int{2,4,6} // ...
- Tornado学习笔记(二) 路由/post/get传参
本章我们学习 Tornado 的路由传参等问题 路由 路由的匹配 Tornado的路由匹配采用的是正则匹配 一般情况下不需要多复杂的正则,正则的基本规则如下(站长之家) 举个例子 (r'/sum/(\ ...
- 【进阶3-5期】深度解析 new 原理及模拟实现(转)
这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://github.com/yygmind/blog/issues/24 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的 ...
- JAVA框架之Hibernate框架的学习步骤
首先介绍一下Java三大框架的关系 以CRM项目即客户关系管理项目示例 hibernate框架的学习路线: 1.学习框架入门,自己搭建框架,完成增删改查的操作 2.学习一级缓存,事物管理和基本查询 3 ...
- flask中的wtforms使用
一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...
- py4测试题
1.8<<2等于? 32 2.通过内置函数计算5除以2的余数 print(divmod(5,2))------>1 3.s=[1,"h",2,"e&qu ...