在正式操作MySQL之前,打开MySQL Workbench页面,点击左下角“MySQL Connections"
进入到编辑页面:
所有的跟练,表都是一个假想玩具经销商使用的订单录入系统组成。
可以在上图看到,我已经创建了一个新得"tysql"数据库,里面得表格Table,有5个表格信息。所有得操作都基于这个数据库中得表。怎么下载录入可以搜索其他资源。
值得注意得是,软件自带的sys是一个空的数据库,所以首先需要创建一个新的数据库,在建数据库,首先点击上面从左到右第4个符号,建立数据库名字,图标为:
然后建立数据库名字后,点击左上角第一个”SQL+”符号,建立文件,首先需要建立空表,并执行表创建脚本(运行点上面黄色的闪电符号执行),然后可以删除文件文本填入表格内容的填充文本,也可以重新创建一个新的文件为表内容的填充,执行。
SELECT语句从表中检索一个或多个数据列
2.1 SELECT语句
SQL语句是由简单的英语单词构成,这些单词称为关键字(keyword)。
SELECT语句的用途是从一个或多个表中检索信息。
2.2 检索单个列
输入,运行结果如下:
搜索products这个表中的pro_name这个信息。
注意:
多条SQL语句必须以分号(;)分隔 |
SQL语句不区分大小写 |
处理SQL语句时,其中所有空格都被忽略 |
2.3 检索多个列
SELECT关键字后给出多个列名,列名之间必须以逗号分隔。(最后一个列名后不加)
不同的DBMS和客户端显示数据的方式略有不同(如对齐格式不同,小数位数不同)。数据的格式化是表示问题,而不是检索问题。
2.4 检索所有列
检索所有的列而不必逐个列出它们,在实际列名的位置使用星号(*)通配符。
列的顺序一般是表中出现的物理顺序,但并不总是如此。
!!!最好别使用*通配符,虽然能省事,不用明确列出所需列,但检索不需要的列通常会降低检索速度和应用程序的性能。
优点:不明确指定列名,所以能检索出名字未知的列。
2.5 检索不同的值
DISTINCT,指示数据库只返回不同的值(具有唯一性),必须放在列名的前面。
DISTINCT 作用于所有的列,(两列组合起来有6个不同的结果)
2.6 限制结果
只想返回第一行或者一定数量的行。
MySQL,MariaDB, PostgreSQL,SQLite使用“LIMIT"子句。
limit 5 :指示返回不超过5行;
指定从哪行开始以及检索的行数,如下:
指示的意思为:从第5行起的5行数据,第一个数字是检索的行数,第二个数字是指从哪开始。
(第0行,第一个被检索的行是第0行)
MySQL, MariaDB, SQLite简化:“limit 4 offset 3”可以简化为“limit 3,4”。(数字反着的)
2.7 使用注释
1. 添加一些描述性的注释;
2. 暂停要执行的SQL代码
两种行内注释方式如图。
-- (两个连字符) | -- 之后的文本就是注释 |
# | 这一整行都将作为注释 |
多行注释:
注释从/*开始,到*/结束,中间的任何内容都是注释。常用于把代码注释掉。
本节注意:复杂的SQL语句往往不够通用。!!!