MySQL数据库学习资料(四)
第四章: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数据库学习资料(四)相关推荐
- MySQL数据库学习资料(九)
目录 数据库的安全性 1 数据库安全性的概念及分类 1.1 数据库安全性概念 1.2 DBMS的安全机制 1.3 DBA的责任和义务 2 数据库自主安全性机制 2.1 名词解释 2.2 数据库管理系统 ...
- MySQL数据库学习资料(十)
对之前所学的SQL语句进行总结,下面是一些实例操作: 查询student表中所有学生的全部的信息 SELECT * FROM my_db.student; 查询student表中所有同学的姓名,性别, ...
- linux数据库创建score表,MySQL数据库学习笔记
MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL高级学习笔记(四)
文章目录 MySQL高级学习笔记(四) 1. MySql中常用工具 1.1 mysql 1.1.1 连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 ...
- MySQL数据库学习日志(六):索引和视图
MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图 索引 (一)索引概述 (二)优缺点 (三)分类 1. 按照底层实现的方式 2. 按照功能划分 普通索引 唯一索引 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql 数据库学习(触发器)
引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...
- MySQL免费学习资料
MySQL免费学习资料 免费下载:sql文件.三天课程讲义! 下载链接:https://pan.baidu.com/s/1IoVLitH_nfRD0AkUW5tQXQ 提取码:cuck
最新文章
- 中矿大新生赛 A 求解位数和【字符串】
- Cannot add product to Opportunity in Fiori - RFC error
- Linux——安装之磁盘分区
- 如何调后端接口_看了都说好:浅谈前后端分工协作
- Python 基础—— collections 模块
- 基本操作2-常用命令
- 分享10个值得每天一看的精品网站,可以让你全方面得到提升,每一个都会让你大开眼界。
- 带你理解 Hanoi 汉诺塔递归算法
- 投票动态代理proxy案例(java)
- linux命令top查看进程,linux 查看进程的命令(top)
- B站小甲鱼零基础python视频P57爬取煎蛋网OOXX妹纸图代码修改
- 设计一个一元稀疏多项式简单计算器
- 人脸识别-在视频中识别人脸
- 用python做一个银行取款系统_我的第一个Python小程序,大老虎银行存取款机程序!支持转账...
- 新华三杯复赛实验赛题解析MSTP和VRRP部署+QoS部署
- 创业做什么好?有何项目可以年入百万?济宁呆头鹅恋爱话术小程序是如何运营的?
- SAP PO中物料描述的语言设置
- 奥的斯3100电气图纸_奥的斯OTIS 电梯电气原理图分析
- mui.plusReady()方法不执行
- 当Canon C3120L作为网络共享打印机时,如何扫描
热门文章
- GO微服务实战第五节 为什么说 Service Meh 是下一代微服务架构?
- struts2 框架 远程执行漏洞 解决方案详解
- (优化版)简易版QQ音乐改进版(HTML+CSS+JQuery)
- 优傲机器人ModBus通讯
- python比赛作品_Python全国少儿编程竞赛参赛作品《智能生日提示小助手》解析
- 离散数学图论相关考点
- chroma8000使用_Chroma8000电源模块自动测试系统应用
- ADD/ADHD 患者专注技巧有哪些?
- 以太坊是什么?——以太坊创始人 Vitalik Buterin 的解答
- 699的高性价比,大神F1极速版体验一览