一、插入数据(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)详解的更多相关文章

  1. SQL语句之数据定义语言(DDL)详解

    操作对象:数据库 1)创建数据库 MariaDB [(none)]> help create databaseName: 'CREATE DATABASE'Description:Syntax: ...

  2. sql语句中like匹配的用法详解

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

  3. mysql操作SQL语句

    二.数据库操作SQL语句1.显示服务器上当前存在什么数据库SHOW DATABASES; 2.创建名称为rewin的数据库CREATE DATABASE rewin; 3.删除名称为rewin的数据库 ...

  4. SQL语句之表操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 写在前面 在上一篇博文里面我整理了“行”级别的操作,分别是“增(insert).删 ...

  5. SQL语句之行操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...

  6. MySQL数据库-表操作-SQL语句(一)

    1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...

  7. JDBC 用PreparedStatement语句动态操作SQL语句

    https://blog.csdn.net/u014453898/article/details/79038187 1.Statement 和 PreparedStatement: Statement ...

  8. mysql 操作sql语句 目录

    mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录

  9. dedecms清空所有文章怎么操作?sql语句如何写?

    小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...

随机推荐

  1. Linux 硬盘UUID相同处理方法

    OVF模板部署的linux虚拟机磁盘id是相同的,当同一个模板生成的虚拟机挂载虚拟机磁盘时就会遇到两个磁盘UUID相同的情况,导致系统启动后只能识别一个磁盘.这里介绍一下LVM分区的磁盘UUID相同的 ...

  2. java_八大数据类型

    一.整型 1.byte  1个字节(8位--一个字节占8位)-128~127 2.short  2个字节  -32768~32767 3.int      4个字节(常用) 4.long   8个字节 ...

  3. shell 入门及常用命令

    1.shell 是什么 shell是指一种程序, 它是和linux沟通的桥梁, 这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务, Ken Thompson 的 sh 是第一种 Un ...

  4. TBDR下msaa 在metal vulkan和ogles的解决方案

    https://developer.arm.com/solutions/graphics/developer-guides/understanding-render-passes/multi-samp ...

  5. Linux初始化脚本

    以下脚本用于linux系统的初始化脚本,可以在服务器系统安装完毕之后立即执行.脚本结合各位大牛一些参数,已经在CentOS 5下通过. 使用方法:将其复制,保存为一个shell文件,比如init.sh ...

  6. PHP流协议

    目前对PHP流协议的定义是数据传输过程中,不同数据类型采用不同处理函数的技术规范(个人理解)这一规范比起传统文件处理函数来的更规范(诸如fget,fwrite,fopen,fclose等) $opts ...

  7. IDEA 安装与破解(亲测有效)

    本文转载:https://blog.csdn.net/g_blue_wind/article/details/74380483 根据以下的流程,顺利安装了最新版本的idea企业版. IDEA 全称 I ...

  8. 使用Future、asyncio处理并发

    并发的意义 为了高效处理网络I/O,需要使用并发,因为网络有很高的延迟,所以为了不浪费CPU周期去等待,最好在收到网络响应之前做些其他的事. 在I/O密集型应用中,如果代码写得正确,那么不管是用哪种并 ...

  9. 小米oj 有多少个等差数列(动态规划)

     有多少个等差数列? 序号:#20难度:困难时间限制:500ms内存限制:10M 描述 等差数列是常见数列的一种,如果一个数列从第二项起,每一项与它的前一项的差等于同一个常数,这个数列就叫做等差数列, ...

  10. Linux创建删除文件和文件夹

    要想删除和创建,需要有root权限 [xwg@bogon ~]$ su root密码:[root@bogon xwg]# cd /home/a      切换到目录a[root@bogon a]# t ...