`

SQL 语句的第二部分(MySQL中使用)

sql 
阅读更多

   对表的数据的增删查改

(前言,一般来说sql语句中的关键字需要大写,这样比较规范,但是我为了好认用了小写)

(因为mysql是不区分大小写的,所以全部小写也是会执行的)

   向表中增加数据

    insert into table_name (列1名,列2名,列3名,....)

   values("列1值","列2值","列3值",.....);

   需要注意的是有时我们并不需要特别的写出列名,因为我们已经知道有哪些列,有几列,所以       我们可以直接写出values;

    而且对于自动递增的列我们可以使用null来代替它,这样在数据书中该行中该列的值会自动输入上一行该列的值加一;但是我们不能用空字符串来代替它,这样会报错,因为他们的数据类型是不同的。如图所示:

insert into ordered values("21","93-12-12",1);
insert into ordered values(null,"93-12-14",2);
insert into ordered values("","93-12-15",3);

   首先第一列是自动递增的,然后输入以上三个语句,

 

  第一句结果为:

   第二行结果为:

   第三行结果为:

21:22:43	insert into ordered values("","93-12-15",3)	Error Code: 1366. Incorrect integer value: '' for column 'o_num' at row 1	0.000 sec

 

 

    查询表中数据

    select 所查询的字段 from table_name where 限制语句 [group by 字段] [having <>] [order by 列名 desc或] [limit 限制查询结果行数]

   上面的语句where 和后面的限制语句都是可选的,接下来我们一一说明他们的用法。

   首先是查询全表

    select *from table_name;    *符号是一种通配符 代表所有字段。

    查询表中的几个列

     select 列名,列名,... from table_name;      列名即字段名,查询表中的指定字段,字段名可多个也可以一个。

     查询时使用where限制条件

    select 列名,... from table_name where 限制条件;

    关于限制条件的几种方式可以点击这里查看。

     

    查询不重复的结果

     select distinct 列名,... from table_name;

 

    对查询结果进行排序   根据order by 后面的列排序 

     select 列名,... from table_name order by 列名 [desc or asc];

     desc示从上到下是降序,asc表示升序,默认是升序排列。

 

      将查询结果按列名分组

       select 列名,... from table_name  group by 列名;

      通常 group by语句是配合sql函数一起使用的,关于函数问题我们以后再细说

 

      查询分组过后的使用添加的限制条件

      select 列名,... from table_name  group by 列名 having 限制条件 ;

      该条语句通常也需要搭配sql函数使用。

 

      group by后添加with rollup关键字

      select 列名,... from table_name  group by 列名 with rollup

      该关键字可以是查询结果多出一行 这一行来表示查询记录的总和。

 

      根据多字段分组

      select 列名,... from table_name  group by 列名,列名,...;

      这个时候会先按第一个列名进行分组,然后在第一个列名值相同的情况下按第二个列名分组,第三个依次类推,

     限制查询结果的条数

     select 列名,... from table_name limit[n,m];

     n的值是查询结果的位置偏移量(当前行数-第一行的值),即如果要从第一行开始显示,n=0 (ps:1-1);从      第二行,n=1,(ps:2-1);第三行的话 n=2,(ps:3-1).

     m的值是指定返回的查询结果条数(这个应该很好理解)

 

   多表查询

   一般来说,多表查询需要多个表中有相同意义的字段,字段名字可能不同

   连接查询:⑴ 内连接查询

    select 字段1,字段2,字段3,字段4 from 表1 inner join 表2 on 表1.相同意义字段名=表2.相同意义字段名 ;

其中字段1234可能分别属于表1表2, 其实这个语句还有另外一种写法。

      select 字段1,字段2,字段3,字段4 from 表1,表2 where 表1.相同意义字段名=表2.相同意义字段名;

      而为什么不用第二种写法是因为第一种写法可以明确指出连接条件,而且where子句在有些时候影响查询条件。

 

  ⑵外连接查询

   外连接又分为左连接和右连接,

   左连接:返回左表中全部记录和右表中连接字段相等的记录,

  比如  user1表这样                   user2表这样
                                     
 执行完左连接语句:select user1.a,b,c from user1 left outer join user2 on user1.a=user2.a;
 结果是这样
  也就是说左外连接会将右表的数据根据user1.a=user2.a匹配插入到左表中,若左表一行中有数据而右表没有,则该数据用null代替。

 

   而右外连接则是这个语句,

select user1.a,b,c from user1 right outer join user2 on user1.a=user2.a;

结果为
因为查询的字段是user1.a所以结果中a字段的第4行为null,右外连接就是左外连接的反过来。
 
 

      

 

  • 大小: 1.2 KB
  • 大小: 1.3 KB
  • 大小: 1.8 KB
  • 大小: 1.7 KB
分享到:
评论

相关推荐

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

    如何获得PreparedStatement最终执行的sql语句

    在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...

    经典的SQL语句大全,access_SqlServer_MySQL通用

    在Access、MySQL和MSSQL等数据库管理系统中,SQL语句有着广泛的应用。以下是一些基本的SQL语句及其说明: 1. **创建数据库**: 使用`CREATE DATABASE`语句创建一个新的数据库,例如:`CREATE DATABASE database-...

    SQL语句使用教程

    在MySQL中,还有一些特定的特性,比如索引的创建和管理,触发器的使用,以及分区表等。索引可以显著提高查询速度,但也会占用额外的存储空间;触发器可以在特定事件发生时自动执行一些操作,增加数据库的自动化程度...

    mysql优化sql语句的优化(索引,常用小技巧.)

    - **2NF**:第二范式是在满足1NF的基础上,确保表中的每列都依赖于完整的主键,不存在部分依赖。 - **3NF**:第三范式是在满足2NF的基础上,进一步要求非主键列之间不存在传递依赖,即除了主键之外的其他列不能...

    通过解析sql语句获取表血缘关系项目

    6. **文件名"getStmtTables"**:根据提供的文件名,这可能是解析SQL语句以获取所涉及表格列表的代码或工具的一部分。这可能是一个函数或脚本,用于提取SQL语句中的表名,从而构建血缘关系图谱。 7. **实现步骤**: ...

    SQL语句性能分析之explain

    4. **优化`WHERE`子句**:确保`WHERE`子句中使用的条件能够充分利用索引,从而减少需要扫描的数据量。 5. **理解`EXTRA`列**:仔细阅读`EXTRA`列中的信息,了解查询中是否存在潜在的问题或优化空间。 通过以上方法...

    insert,update导出sql语句

    这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或备份。 首先,我们来看INSERT语句。INSERT语句用于向数据库的表中添加新的记录。基本语法如下: ```sql INSERT INTO 表名 ...

    第八章用SQL语句操作数据.zip

    本章我们将深入探讨如何使用SQL语句来操作数据。 1. **SQL基本结构** SQL语句通常包括SELECT、INSERT、UPDATE、DELETE等关键字,它们分别用于查询、插入、修改和删除数据。例如,`SELECT * FROM table_name`用于...

    MySQL的SQL语句大小写不敏感问题解决方案

    如果在表 t 中存在主键或者唯一性约束,那么第二条语句将会发生错误。 类似地,在查询时,也可能会出现大小写问题,例如: ``` select * from t where a like 'a%'; select * from t where a like 'A%'; ``` 这两...

    mysql 经典sql语句

    本篇文章将深入探讨一些MySQL中的经典SQL语句,这些语句对于优化数据库性能和提升开发效率至关重要。 1. **创建数据库**: 使用`CREATE DATABASE`语句可以创建新的数据库。例如,`CREATE DATABASE database-name`...

    c++,SQL语句实现数据库备份与还原

    恢复SQL语句是数据库备份与还原的第二部分。使用T-SQL语句,可以实现数据库的恢复,例如: ```sql exec p_restoredb @bkpath='c:\',@bkfname='db_\DATE\_db.bak' ``` 这条语句将恢复指定的备份文件到当前数据库中。 ...

    Excel根据表格,批量生成sqlserver语句 ,生成建表语句,自行到数据库中执行

    在Excel表格中,我们可以设置第一行为表头,列头为字段名,第二行可以设置数据类型的提示,宏将根据这些信息生成SQL语句。执行宏后,用户只需复制生成的SQL语句到SSMS中,运行即可完成建表操作。 标签中的“sql...

    实用总结SQL语句大全实用总结SQL语句大全.rar

    总之,“实用总结SQL语句大全”将引导你掌握SQL的基本用法,理解其核心概念,并能灵活运用到实际数据库操作中。无论是初学者还是有经验的数据库管理员,这个资源都能提供宝贵的参考。通过深入学习和实践,你可以提升...

    数据库分页SQL语句实现

    本文将详细介绍三种主流数据库(SQL Server、MySQL和Oracle)中的分页SQL语句实现方法。 #### SQL Server 的分页SQL语句实现 SQL Server 支持通过`TOP`关键字来实现分页查询。具体实现方式如下: 1. **查询第M页...

    MySql数据库SQL语句.pdf

    根据提供的文件信息,本文将详细解析MySQL数据库中的SQL语句,特别是针对数据库表记录的CRUD操作(创建、读取、更新、删除),并探讨分页查询与LIMIT方言的使用方法,以及SELECT语句的执行顺序等内容。 ### MySQL...

    SQL语句练习提高

    【SQL语句练习提高】 在SQL中,查询和操作数据是其核心功能。以下通过给出的练习题目,我们将深入理解SQL的基本句式和用法。 28. 题目要求从`employee`表中抽取部门名称(depart_name),计算平均工资(avg(wage)...

    浅谈MySQL中优化sql语句查询常用的30种方法.doc

    浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法 MySQL 是一种广泛使用的关系数据库管理系统,优化 SQL 语句查询是提高数据库性能的关键。下面是浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法: 一、避免全表...

    2个SQL优化语句,查询出来哪条SQL语句占据资源最多.rar

    例如,在MySQL中,可以使用`Performance Schema`或者`Information Schema`来收集这些数据: ```sql SELECT statement, COUNT(*) AS execution_count, SUM(total_time) AS total_time FROM performance_schema....

Global site tag (gtag.js) - Google Analytics