一、插入数据(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. web开发:定位布局

    一.盒子的显隐 二.小米topbar 三.相对定位 四.决定定位 五.固定定位 六.z-index属性 七.流式布局思想 八.hover父子悬浮 一.盒子的显隐 1.同一结构下, 如果采用浮动布局,所 ...

  2. web开发:css总结与应用

    一.常用标签的使用 二.边界圆角 三.背景样式 四.精灵图 五.盒模型布局细节 六.盒模型案例 七.w3c主页 一.常用标签的使用 <!DOCTYPE html> <html> ...

  3. JS中call()和apply()以及bind()的区别

    一.方法定义: apply:调用一个对象的一个方法,用另一个对象替换当前对象.例如:B.apply(A, arguments);即A对象应用B对象的方法. call:调用一个对象的一个方法,用另一个对 ...

  4. docker 在push镜像到本地registry出现的500 Internal Server Error

    ]# docker push 192.168.163.131:5000/test The push refers to a repository [192.168.163.131:5000/test] ...

  5. IDEA 2019.1版本 永久激活(假装是永久激活,其实还是有时间的,不过这个时间比较长)

    先下载 一个 jar 包 链接: https://pan.baidu.com/s/12eC8OZzMrUve2xC7aRUKLQ 提取码: bavi 将下载下来的jar包,放置你安装idea的目录的b ...

  6. macOS关闭修改扩展名的提示

    关闭 defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false; killall Finder 开启 def ...

  7. maven插件生成可执行jar包

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assem ...

  8. MFC GDI绘图

    DC——MFC设备描述表类(也叫设备环境.设备上下文).默认起始点(0,0),带To的函数会移动起始点到指定位置. 新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT, ...

  9. springbootdruidmybatismysql多数据源事务管理

    springboot+druid+mybatis+mysql+多数据源事务管理 分布式事务在java中的解决方案就是JTA(即Java Transaction API):springboot官方提供了 ...

  10. 标准输入输出(C++)

    输入输出流函数(模板) #include<iostream> #include<iomanip> using namespace std; int main() { cout ...