美文网首页
MySQL基本操作语句大全

MySQL基本操作语句大全

作者: ebook_sea | 来源:发表于2019-12-18 09:45 被阅读0次

1.检索数据

https://www.nowcoder.com/questionTerminal/ec1ca44c62c14ceb990c3c40def1ec6c

题解:SELECT * 表示选取所有的行,这里可以还选取一行或者多行;FROM employees 表示所选取的表格(table);后面则表示具体的查询条件。SELECT DISTINCT 表示只返回不同的(唯一)的值,达到了去重的效果。

2. 排序检索结果

题解:ORDER BY表示按照升序排列,后面可以跟一个或多个字段;ORDER BY emp_no DESC,表示按照员工号降序排列,即最大的最前面。这里由于需按照first name的后两个字母,升序排列,所有需要用到substr(x,y,z)函数来截取字母。X表示所要截取的字段,Y表示从何处开始截取(注意:字符串的索引是从1到n,z表示截取字段的长度)。

此题还有另外两种写法,省略z表示,从开始截取到末尾,Y为负数表示从末尾开始数索引,如上所示。

3. 过滤数据

题解:WHERE表示按照制定的条件进行过滤,可以使用=(等于),<>或!=(不等于),BETWEEN···AND(在制定的两个值之间)。

4.  数据过滤

可以使用AND,OR来对WHERE进行组合,如上就使用了AND。

但是SQL(像多数语言一样)在处理OR操作符前,优先处理AND操 作符。此问题的解决方法是使用圆括号明确地分组相应的操作符。

还可以使用IN来表示指定条件范围,。

NOT操作符表示,否定它之后所跟的任何条件。

5. 创建计算字段

(1)拼接字段:将值连接到一起构成一个单个值

使用RTrim函数可以将值右边的所以空格去掉

还可以使用AS对新的字段赋予别名

(2)执行算术计算:对检索出的数据进行算术计算

例如:将单价列乘以数量列,形成新的字段总价

6. 汇总数据

SQL常用的五个聚集函数如下:

聚集函数可以单个使用,也可以组合使用:

7. 分组数据

可以使用GROUP BY子句和HAVING子句将总的数据,按照一定的条件,进行分组。

如上所示,计算出产品的数量,然后按照每个供应商进行分组,即可得到每个供应商提供的产品数目。

如上只是创建了分组,我们还可以对已经分好的组进行过滤,可以使用HAVING进行过滤分组,HAVING非常类似于WHERE。事实上,目前为止所 学过的所有类型的 WHERE 子句都可以用 HAVING 来替代。 唯一的差别是 WHERE过滤行,而HAVING过滤分组。

8. 使用子查询

子查询就是嵌套在其他查询中的查询。

首先在orderitems表中找到产品编号为‘TNT2’的订单,并选取他们的订单号,然后根据查询到的订单号在orders表中找到对应的顾客id。

9. 联接表

(1)创建联接

(2)内部联接

(3 )联接多个表

10. 插入数据

插入一个新客户到Customers表中

11. 更新和删除数据

更新客户10005的电子邮件地址

在customers表中删除一行

12. 创建和操纵表

创建customers表

更新表

为表添加列

删除添加的列

删除表

重命名表

13. 管理事务处理

事务处理是一种 机制,用来管理必须成批执行的MySQL操作,以保证数据库不包含不完 整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们 或者作为整体执行,或者完全不执行(除非明确指示)。如果没有错误发 生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤 销)以恢复数据库到某个已知且安全的状态。

例如普通为系统添加订单的过程如下:

(1) 检查数据库中是否存在相应的客户(从customers表查询),如果 不存在,添加他/她。

(2) 检索客户的ID。

(3) 添加一行到orders表,把它与客户ID关联。

(4) 检索orders表中赋予的新订单ID。

(5) 对于订购的每个物品在 orderitems表中添加一行, 通过检索 出来的ID把它与 orders表关联(以及通过产品ID与 products表关联)。

如果按照事务处理:

(1) 检查数据库中是否存在相应的客户,如果不存在,添加他/她。

(2) 提交客户信息。

(3) 检索客户的ID。

(4) 添加一行到orders表。

(5) 如果在添加行到orders表时出现故障,回退。

(6) 检索orders表中赋予的新订单ID。

(7) 对于订购的每项物品,添加新行到orderitems表。

(8) 如果在添加新行到 orderitems 时出现故障, 回退所有添加的 orderitems行和orders行。

(9) 提交订单信息。

事务处理的关键词:

事务(transaction)指一组SQL语句;回退(rollback)指撤销指定SQL语句的过程;提交(commit)指将未存储的SQL语句结果写入数据库表;保留点( savepoint )指事务处理中设置的临时占位符(placeholder),你可以对它发布回退(与回退整个事务处理不同)。

相关文章

网友评论

      本文标题:MySQL基本操作语句大全

      本文链接:https://www.haomeiwen.com/subject/idrynctx.html