操作 SQL语句之数据操作语言(DML)详解
一、插入数据(INSERT)
MariaDB [(none)]> help insert
Name: 'INSERT'
Description:
Syntax:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
MariaDB [testdb]> INSERT INTO students VALUES (1,'Yang Guo',20,'m'),(2,'guo xiang', 30,'f');
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
(如果省略字段col_name,则是给表中所有字段都添加值,如果是允许为空的,都也必须空出来,一般情况我们建议插入数据的时候,都必须指定字段col_name)
Or:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
插入单个字段的值
MariaDB [testdb]> insert into students set name='hongqigong';
Query OK, 1 row affected, 1 warning (0.01 sec)
MariaDB [testdb]> select * from students;
+-----+------------+------+--------+
| sid | name | age | gender |
+-----+------------+------+--------+
| 0 | hongqigong | NULL | NULL |
| 1 | Yang Guo | 20 | m |
| 2 | guo xiang | 30 | f |
+-----+------------+------+--------+
3 rows in set (0.00 sec)
MariaDB [testdb]> insert into students (sid,name) values (3,'zhaomi'),(4,'zhangwuji');
Or:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
二、检索数据(SELECT)
MariaDB [testdb]> help select
Name: 'SELECT'
Description:
Syntax:
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
Select col1,col2,.... from tb1_name [where clause][ORDER BY 'col_name'][Limit M,{n}]
字段表示:
*: 所有字段
as: 字段别名------------col1 AS alias1
查找条件:WHERE
操作符:

组合条件:
and 与 or 或 not 非
between 值1 and 值 2
MariaDB [testdb]> SELECT prod_name, prod_price FROM Products WHERE vend_id = 'DLL01' OR vend_id = ‘BRS01’;

Like操作符
%: 任意长度的任意字符
_: 任意长度单个字符

IN操作符:IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取一组由逗号分隔、括在圆括号中的合法值

为什么要使用IN操作符?其优点为:
在有很多合法选项时,IN操作符的语法更清楚,更直观。
在与其他AND和OR操作符组合使用IN时,求值顺序更容易管理。
IN操作符一般比一组OR操作符执行得更快(在上面这个合法选项很少的例子中,你看不出性能差异)。
IN的最大优点是可以包含其他SELECT语句,能够更动态地建立WHERE子句。第11课会对此进行详细介绍。
排序:ORDER BY
单个字段:
多个字段:
经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。
如果多个雇员有相同的姓,这样做很有用
排序方向:默认为升序(asc)
升序:ASC
降序:DESC


案例:单表查询
MariaDB [testdb]> select * from students where sid<3;
+-----+------------+------+--------+
| sid | name | age | gender |
+-----+------------+------+--------+
| 0 | hongqigong | NULL | NULL |
| 1 | Yang Guo | 20 | m |
| 2 | guo xiang | 30 | f |
+-----+------------+------+--------+
3 rows in set (0.00 sec)
MariaDB [testdb]> select * from students where gender='m';
+-----+----------+------+--------+
| sid | name | age | gender |
+-----+----------+------+--------+
| 1 | Yang Guo | 20 | m |
+-----+----------+------+--------+
1 row in set (0.00 sec)
MariaDB [testdb]> select * from students where gender is null;
+-----+------------+------+--------+
| sid | name | age | gender |
+-----+------------+------+--------+
| 0 | hongqigong | NULL | NULL |
| 3 | zhaomi | NULL | NULL |
| 4 | zhangwuji | NULL | NULL |
+-----+------------+------+--------+
3 rows in set (0.00 sec)
操作 SQL语句之数据操作语言(DML)详解的更多相关文章
- SQL语句之数据定义语言(DDL)详解
操作对象:数据库 1)创建数据库 MariaDB [(none)]> help create databaseName: 'CREATE DATABASE'Description:Syntax: ...
- sql语句中like匹配的用法详解
在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...
- mysql操作SQL语句
二.数据库操作SQL语句1.显示服务器上当前存在什么数据库SHOW DATABASES; 2.创建名称为rewin的数据库CREATE DATABASE rewin; 3.删除名称为rewin的数据库 ...
- SQL语句之表操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 写在前面 在上一篇博文里面我整理了“行”级别的操作,分别是“增(insert).删 ...
- SQL语句之行操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...
- MySQL数据库-表操作-SQL语句(一)
1. 数据库操作与存储引擎 1.1 数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...
- JDBC 用PreparedStatement语句动态操作SQL语句
https://blog.csdn.net/u014453898/article/details/79038187 1.Statement 和 PreparedStatement: Statement ...
- mysql 操作sql语句 目录
mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录
- dedecms清空所有文章怎么操作?sql语句如何写?
小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...
随机推荐
- 【2017-06-16】Jquery获取dropdownlist选中的内容
var Text = $("#DropDownList1 option:selected").text(); 注意:DropDownList1和option之间有个空格!!!
- 简单易用的PIL,教你如何使用python实现自动化截屏
Python有个第三方模块叫做PIL是Python Imaging Library的缩写,是用来进行图像处理的,比如,改变图片颜色,图片缩放,图片裁剪等等基本图片操作.它还包含一个截屏的功能. 从以上 ...
- Ubuntu系统---安装思维导图XMind
Ubuntu系统---安装思维导图XMind @wp20181011 XMind安装很简单,这里简单记录记录一下.分为三步:1,下载.2,安装.3,设置桌面快捷图标. 详细步骤如下: 1,下载. 首先 ...
- Event Binding in Angular
https://www.pluralsight.com/guides/angular-event-binding Introduction In this guide, we will explore ...
- 3-cmd命令
1.查看IPC$是否启用 命令:net share 2.启动/停止windows服务 命令:net start MSDTC net stop MSDTC 3.修改服务的启动类型(start= ...
- MySQL分组查询,查询出某一个字段的最新记录
直接上案例...... 案例: 同一个表中,只想需要A.B.C的最新记录 第一种方案: 应该还很多方法......(暂时先这样.....)
- pandas.DataFrame.where和mask 解读
1.前言背景 没怎么用过df.where 都是直接使用loc.apply等方法去解决. 可能是某些功能还没有超出loc和apply的适用范围. 2.进入df.where和df.mask DataFra ...
- C# 通过Process.Start() 打开程序 置顶方法
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { try { foreach ...
- 【Android-连接数据库】 直接连接SqlServer数据库
一.测试过的开发环境 Eclispse + SqlServer2008R2 二.下载支持Android的SQL驱动 只能下载1.2.7版本的,将 jtds-1.2.7.jar 包放在android项目 ...
- crypot.js 生成hash256, 在IE下的卡顿问题。
项目需求: 上传大文件,调用crypto.js生成hash256码. 直接上传大文件,IE会直接崩溃. 于是利用file.slice分片检测.但是浏览器会出现卡顿问题.开始以为是内存泄漏.但看服务器进 ...