第四章:SQL语言介绍

目录

第四章:SQL语言介绍

一、SQL基础语言

使用SQL建立数据库

使用SQL进行简单查询

二、安装MySQL

安装地址

数据库管理系统可视化操作工具MySQL Workbench介绍

三、MySQL WorkBench的简单操作

数据库的创建

使用代码创建数据库

数据库表的创建

使用语句生成数据库的表

使用语句删除数据库的表

向数据表中添加数据

查询数据

使用WHERE关键字查找符合条件的若干行


主要介绍了SQL的发展史:SQL从上世纪70年代产生,并被各大厂商逐渐完善和认可。各个数据库管理软件的SQL基本相同(90%),此外,各个数据库管理软件也有自己的特色用法。数据库操作语言可以按照DDL、DML和DCL,共9种操作语句。

一、SQL基础语言

使用SQL建立数据库

SQL数据库的建立使用DDL语句完成,共包含两个步骤:

step1:建立数据库——CREATE DATABASE

step2:建立表——CREATE TABLE

表建立后,可以使用DML向表中增加数据,使用DML对数据进行修改和查询。

使用SQL进行简单查询

查询的目的:从数据库的表中检索出符合要求的元组,查询语句时SQL中DML的核心内容,十分重要,前面的众多铺垫就是为了这一刻!简单得总结本节所讲的内容。

基本形式:SELECT 列名 FROM 表名 WHERE 条件

当查询的结果不重复时,使用DISTINCT关键字

对查询的结果额外要求排序,使用ORDER关键字

模糊查询时,使用LIKE关键字,搭配%、_和转义符\使用

解决运算优先级的最佳方案:加括号

在进行查询时,主要的难点是从提出的问题到SQL语句的转化。

二、安装MySQL

本课程要安装MySQL(因为SQL Server2012和C语言使用的VC冲突)

如果你的电脑安装了Vc++2010,安装sql server2012时会出现下图所示的错误,是因为vs++2010中含有旧版本sqlserver的实例。目前很多人都因为这个问题没法安装SQL Server2012了。为了能够让初学者尽快上手数据库的练习,因此我们使用MySQL这款数据库管理系统软件,它和SQL Server同样是非常强大的关系型数据库管理系统(而且很多企业都在用它,可以说在实际工作中更流行)其实就是不同厂家出品的关系型数据库管理系统

安装地址

MySQL的windows 64位版本的下载地址如下:

https://dev.mysql.com/downloads/windows/installer/8.0.html

大家选择下图中红框所示的版本下载并安装

具体的安装步骤请参考下面的博客,注意我们已经下载好了,直接从文中的步骤2开始,到步骤3之前就结束了,他的第三步是开始介绍My SQL中的具体操作,不需要看

https://blog.csdn.net/xiezhiming1234/article/details/82860339

windows系统 MySQL8.0.12详细安装步骤及基本使用教程

数据库管理系统可视化操作工具MySQL Workbench介绍

安装完了MySQL全家桶(不仅仅是MySQL 的服务器,还有其他的一堆开发者工具也一起安装了,为的是方便大家学习和使用数据库,具体可以看下图蓝色框框中的安装内容,大家在安装时可以看到安装的内容),现在我们要使用MySQL Workbench来实现数据库的创建、表的创建和数据的插入等操作。

注意一下:很多人在安装的时候会忘记执行一些excute,MySQL会为大家安装一下运行必备的环境,记住先execute再next。

那么我们安装完是怎么去使用呢,大家在开始菜单中输入workbench,就可以找到我们需要的软件,叫做MySQL workbench。

我们打开这个软件,会来到如下的界面,这就是MySQL workbench的初始界面:

现在可以通过workbench连接到MySQL服务器:

连接成功后,页面会跳转到连接后的界面,如下图所示

更多关于MySQL Workbench的介绍可以参考MySQL的官网,官网的解释非常详细,还可以练习英语,一举两得岂不是美滋滋,链接如下:

https://dev.mysql.com/doc/workbench/en/

三、MySQL WorkBench的简单操作

数据库的创建

在导航栏中,我们先点底部的“schema”切换到数据库栏位下,可以看到已经有3个数据库了,我们可以创建自己的数据库,在空白的地方右键,选择create schema,创建自己的数据库。

创建数据库,数据库的名字为my_db,大家可以起自己喜欢的名字,字符集规则选择utf8,点击下方的Apply按钮,在跳出的窗口中选择Apply->Finsh即可完成数据库的创建,这个时候我们可以看到左侧多了一个my_db的数据库。

注意:utf8字符集说明,大家在使用python时,在打开文件的时候也会看到"open file(filename, decoding="utf-8")"的代码段,因为utf8是全球通用的字符集。如果使用其他字符集如GBK,在有些情况下会出现乱码的情况,推荐使用utf8,更多关于字符集的思考大家可以参考下面的链接学习。

MySQL选择合适的字符集 - 云+社区 - 腾讯云

使用代码创建数据库

上面是使用MySQL workbench的可视化操作,现在同学们再尝试使用代码创建数据库:

CREATE SCHEMA `my_db` DEFAULT CHARACTER SET utf8;

使用代码删除数据库:

DROP SCHEMA `my_db`

数据库表的创建

展开刚刚创建完成的数据库,在数据库中右键Tables,选择Create Table,开始创建表。

我们设定好表的名称,设定一个列属性名为ID,表示学生的学号,对ID做一定要求:ID是主键,且不能为空。这样我们的第一个数据库的表就创建好了。

使用语句生成数据库的表

CREATE TABLE `my_db`.`student`(

`ID` INT NOT NULL,

PRIMARY KEY(``))

使用语句删除数据库的表

DROP TABLE `my_db`.`student`

向数据表中添加数据

首先查询刚刚创建的表,鼠标右键student表,选择 Select Rows -Limit1000选项、在屏幕中央会显示查询结果,现在是没有数据的,我们可以向表中添加若干数据。

在屏幕的中间,我们可以向表中插入数据,注意数据不能违背刚才设定的属性约束,如第一列是主键,因此不能重复,生日属性一定要是符合规范的年月日格式,否则在插入数据时会报错。

查询数据

使用SELECT FROM关键字查询数据

(1) 插入了数据后,我们可以进行数据的查询操作,数据查询操作相比刚才大家已经看到了,就是查询表中的所有内容:

SELECT * FROM my_db.student;

这条语句等价于,也是获取表中的全部数据:

SELECT id, sname, ssex, sbirthday, sdept FROM student;

(2) 查询表中某些列/属性:

SELECT id, sname FROM student;

(3) 查询表中没有的列

SELECT子句中的属性可以时表中存在的列,也可以时常量、表达式或者函数。

下面的例子是带有常量的查询语句:

SELECT '姓名', sname FROM student;

如果我们现在想知道学生的年龄,而表中只记录了学生的出生年月,没有记录年龄,可以这样查询(注意到我们可以调用一些MySQL内置的函数来完成这个任务,使用AS关键字来为某一列取别名,提高其可读性):

SELECT '姓名', sname,'年龄',TIMESTAMPDIFF(YEAR,sbirthday, CURDATE()) AS AGE FROM student;

使用WHERE关键字查找符合条件的若干行

查询中除了可以通过投影运算来选择若干列之外,还可以通过选择运算来选择若干行感兴趣的元组,这时候需要WHERE关键字来实现

若需要查询全体大数据专业学生的姓名,可以用下列语句实现:

SELECT sname, sdept FROM student WHERE sdept = 'bigdata';

再来个例子,若要查询所有女生的信息,可以使用如下语句实现:

SELECT * FROM student WHERE ssex = '女';

BEWTEEN... AND关键字可以 和WHERE使用,来确定范围

比如需要查询出生在2000年的学生,可以用如下语句实现:

SELECT * FROM student WHERE sbirthday BETWEEN '2000-01-01' AND '2000-12-31';

反过来,如果想查询不在2000年出现的学生,使用NOT BETWEEN AND来实现:

SELECT * FROM student WHERE sbirthday NOT BETWEEN '2000-01-01' AND '2000-12-31';

MySQL数据库学习资料(四)相关推荐

  1. MySQL数据库学习资料(九)

    目录 数据库的安全性 1 数据库安全性的概念及分类 1.1 数据库安全性概念 1.2 DBMS的安全机制 1.3 DBA的责任和义务 2 数据库自主安全性机制 2.1 名词解释 2.2 数据库管理系统 ...

  2. MySQL数据库学习资料(十)

    对之前所学的SQL语句进行总结,下面是一些实例操作: 查询student表中所有学生的全部的信息 SELECT * FROM my_db.student; 查询student表中所有同学的姓名,性别, ...

  3. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  4. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. MySQL高级学习笔记(四)

    文章目录 MySQL高级学习笔记(四) 1. MySql中常用工具 1.1 mysql 1.1.1 连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 ...

  6. MySQL数据库学习日志(六):索引和视图

    MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图 索引 (一)索引概述 (二)优缺点 (三)分类 1. 按照底层实现的方式 2. 按照功能划分 普通索引 唯一索引 ...

  7. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. mysql 数据库学习(触发器)

    引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...

  9. MySQL免费学习资料

    MySQL免费学习资料 免费下载:sql文件.三天课程讲义! 下载链接:https://pan.baidu.com/s/1IoVLitH_nfRD0AkUW5tQXQ 提取码:cuck

最新文章

  1. 中矿大新生赛 A 求解位数和【字符串】
  2. Cannot add product to Opportunity in Fiori - RFC error
  3. Linux——安装之磁盘分区
  4. 如何调后端接口_看了都说好:浅谈前后端分工协作
  5. Python 基础—— collections 模块
  6. 基本操作2-常用命令
  7. 分享10个值得每天一看的精品网站,可以让你全方面得到提升,每一个都会让你大开眼界。
  8. 带你理解 Hanoi 汉诺塔递归算法
  9. 投票动态代理proxy案例(java)
  10. linux命令top查看进程,linux 查看进程的命令(top)
  11. B站小甲鱼零基础python视频P57爬取煎蛋网OOXX妹纸图代码修改
  12. 设计一个一元稀疏多项式简单计算器
  13. 人脸识别-在视频中识别人脸
  14. 用python做一个银行取款系统_我的第一个Python小程序,大老虎银行存取款机程序!支持转账...
  15. 新华三杯复赛实验赛题解析MSTP和VRRP部署+QoS部署
  16. 创业做什么好?有何项目可以年入百万?济宁呆头鹅恋爱话术小程序是如何运营的?
  17. SAP PO中物料描述的语言设置
  18. 奥的斯3100电气图纸_奥的斯OTIS 电梯电气原理图分析
  19. mui.plusReady()方法不执行
  20. 当Canon C3120L作为网络共享打印机时,如何扫描

热门文章

  1. GO微服务实战第五节 为什么说 Service Meh 是下一代微服务架构?
  2. struts2 框架 远程执行漏洞 解决方案详解
  3. (优化版)简易版QQ音乐改进版(HTML+CSS+JQuery)
  4. 优傲机器人ModBus通讯
  5. python比赛作品_Python全国少儿编程竞赛参赛作品《智能生日提示小助手》解析
  6. 离散数学图论相关考点
  7. chroma8000使用_Chroma8000电源模块自动测试系统应用
  8. ADD/ADHD 患者专注技巧有哪些?
  9. 以太坊是什么?——以太坊创始人 Vitalik Buterin 的解答
  10. 699的高性价比,大神F1极速版体验一览