1.查询数据

MariaDB [jason]> select * from runoob_tbl limit  offset ;

默认是从偏移量为0 处开始查村数据,通过指定offset 可以从offset 处开始取数

2.where 语句

MariaDB [jason]> select * from runoob_tbl where runoob_title like '%python%';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec) MariaDB [jason]> select * from runoob_tbl where runoob_title like '%Python%';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec)

mysql where 条件不区分大小写,若要区分大小写则采用下面的写法

MariaDB [jason]> select * from runoob_tbl where binary runoob_title like '%Python%';
Empty set (0.00 sec) MariaDB [jason]> select * from runoob_tbl where binary runoob_title like '%python%';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec)

3.update  更新表记录

MariaDB [jason]> update runoob_tbl set runoob_title='java', runoob_author ='jason' where runoob_id = ;
ERROR (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:
Current database: jason Query OK, row affected (0.04 sec)
Rows matched: Changed: Warnings: MariaDB [jason]> select * from runoob_tbl;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | java | jason | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+

4.删除表记录 delete

delete 语句如果不指定where 条件则会删除表内所有数据

MariaDB [jason]> delete from runoob_tbl where runoob_id = ;
Query OK, row affected (0.00 sec) MariaDB [jason]> select * from runoob_tbl;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习scala | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec) MariaDB [jason]> delete from runoob_tbl;
Query OK, rows affected (0.00 sec) MariaDB [jason]> select * from runoob_tbl;
Empty set (0.00 sec)

5.like 语句

MariaDB [jason]> select * from runoob_tbl where runoob_title like '%python';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+

6.union and union all

MariaDB [jason]> select runoob_title as a from runoob_tbl union all select runoob_author as a from runoob_tbl order by a;
+--------------+
| a |
+--------------+
| dong |
| jason |
| 学习java |
| 学习linux |
| 学习python |
| 学习scala |
| 菜鸟教程 |
| 菜鸟教程 |
+--------------+
rows in set (0.00 sec) MariaDB [jason]> select runoob_title from runoob_tbl union all select runoob_author from runoob_tbl;
+--------------+
| runoob_title |
+--------------+
| 学习python |
| 学习scala |
| 学习java |
| 学习linux |
| 菜鸟教程 |
| 菜鸟教程 |
| jason |
| dong |
+--------------+
rows in set (0.00 sec) MariaDB [jason]> select runoob_title from runoob_tbl union select runoob_author from runoob_tbl;
+--------------+
| runoob_title |
+--------------+
| 学习python |
| 学习scala |
| 学习java |
| 学习linux |
| 菜鸟教程 |
| jason |
| dong |
+--------------+
rows in set (0.00 sec) MariaDB [jason]> select runoob_title from runoob_tbl union distinct select runoob_author from runoob_tbl;
+--------------+
| runoob_title |
+--------------+
| 学习python |
| 学习scala |
| 学习java |
| 学习linux |
| 菜鸟教程 |
| jason |
| dong |
+--------------+
rows in set (0.00 sec)

union 与 union distinct 功能相同,会把union 后的结果去重,union all 则不去重。

如果有order 则order 是对全局结果的排序

MariaDB [jason]> select runoob_title from runoob_tbl union all select runoob_author from runoob_tbl order by runoob_author;
ERROR (42S22): Unknown column 'runoob_author' in 'order clause'
MariaDB [jason]> select runoob_title as a from runoob_tbl union all select runoob_author as a from runoob_tbl order by a;
+--------------+
| a |
+--------------+
| dong |
| jason |
| 学习java |
| 学习linux |
| 学习python |
| 学习scala |
| 菜鸟教程 |
| 菜鸟教程 |
+--------------+
rows in set (0.00 sec)

7.排序 order by

MariaDB [jason]> select * from runoob_tbl order by runoob_id asc;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习java | jason | -- |
| | 学习linux | dong | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.01 sec) MariaDB [jason]> select * from runoob_tbl order by runoob_id desc;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习linux | dong | -- |
| | 学习java | jason | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习python | 菜鸟教程 | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec)

8.group by

group by 可以用于sum,count,avg 等聚合函数

首先看一下要操作的表中的数据

MariaDB [jason]> select * from employee_tbl;
+----+--------+---------------------+--------+
| id | name | date | singin |
+----+--------+---------------------+--------+
| | 小明 | -- :: | |
| | 小王 | -- :: | |
| | 小丽 | -- :: | |
| | 小王 | -- :: | |
| | 小明 | -- :: | |
| | 小明 | -- :: | |
+----+--------+---------------------+--------+
rows in set (0.00 sec)
MariaDB [jason]> select name,count(*) from employee_tbl group by name;
+--------+----------+
| name | count(*) |
+--------+----------+
| 小丽 | |
| 小明 | |
| 小王 | |
+--------+----------+
rows in set (0.00 sec)

with rollup 可以实现再分组统计数据的基础之上再进行相同的统计

MariaDB [jason]> select name,sum(singin) from employee_tbl group by name with rollup;
+--------+-------------+
| name | sum(singin) |
+--------+-------------+
| 小丽 | |
| 小明 | |
| 小王 | |
| NULL | |
+--------+-------------+
rows in set (0.00 sec)

但是最后一行的name 为null ,我们可以用coalesce 为其赋值,

coalesce(name,'总数'),如果name 为null 则用 ‘总数’ 来命名

MariaDB [jason]> select coalesce(name,'总数'),sum(singin) from employee_tbl group by name with rollup;
+-------------------------+-------------+
| coalesce(name,'总数') | sum(singin) |
+-------------------------+-------------+
| 小丽 | |
| 小明 | |
| 小王 | |
| 总数 | |
+-------------------------+-------------+
rows in set (0.00 sec)

9.join

MariaDB [jason]> select *  from runoob_tbl a  join employee_tbl  b on a.runoob_id=b.id;
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
| runoob_id | runoob_title | runoob_author | submission_date | id | name | date | singin |
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
| | 学习python | 菜鸟教程 | -- | | 小明 | -- :: | |
| | 学习scala | 菜鸟教程 | -- | | 小王 | -- :: | |
| | 学习java | jason | -- | | 小丽 | -- :: | |
| | 学习linux | dong | -- | | 小王 | -- :: | |
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
rows in set (0.00 sec)
MariaDB [jason]> select *  from runoob_tbl a left join employee_tbl  b on a.runoob_id=b.id;
+-----------+--------------+---------------+-----------------+------+--------+---------------------+--------+
| runoob_id | runoob_title | runoob_author | submission_date | id | name | date | singin |
+-----------+--------------+---------------+-----------------+------+--------+---------------------+--------+
| | 学习python | 菜鸟教程 | -- | | 小明 | -- :: | |
| | 学习scala | 菜鸟教程 | -- | | 小王 | -- :: | |
| | 学习java | jason | -- | | 小丽 | -- :: | |
| | 学习linux | dong | -- | | 小王 | -- :: | |
+-----------+--------------+---------------+-----------------+------+--------+---------------------+--------+
rows in set (0.00 sec)
MariaDB [jason]> select *  from runoob_tbl a right join employee_tbl  b on a.runoob_id=b.id;
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
| runoob_id | runoob_title | runoob_author | submission_date | id | name | date | singin |
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
| | 学习python | 菜鸟教程 | -- | | 小明 | -- :: | |
| | 学习scala | 菜鸟教程 | -- | | 小王 | -- :: | |
| | 学习java | jason | -- | | 小丽 | -- :: | |
| | 学习linux | dong | -- | | 小王 | -- :: | |
| NULL | NULL | NULL | NULL | | 小明 | -- :: | |
| NULL | NULL | NULL | NULL | | 小明 | -- :: | |
+-----------+--------------+---------------+-----------------+----+--------+---------------------+--------+
rows in set (0.00 sec)

10. null 值的处理

mysql 中判断值是否为null 不能用 = null,<> null, 要用 is null  或者is not null, null = null 返回false ,null 与任何值的比较都是false,null 值的比较要用 <=>,null <=> null返回true

11. mysql 中的正则表达式

12.事务

  • 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
  • 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
  • 事务用来管理 insert,update,delete 语句
MariaDB [jason]> begin;
Query OK, rows affected (0.00 sec) MariaDB [jason]> insert into runoob_tbl(
-> runoob_title,runoob_author,submission_date
-> )
-> values
-> ("学习php","jason",now()),
-> ("学习c++","dong",now());
Query OK, rows affected, warnings (0.01 sec)
Records: Duplicates: Warnings: MariaDB [jason]> select * from runoob_tbl ;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习java | jason | -- |
| | 学习linux | dong | -- |
| | 学习php | jason | -- |
| | 学习c++ | dong | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec) MariaDB [jason]> rollback;
Query OK, rows affected (0.00 sec) MariaDB [jason]> select * from runoob_tbl ;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习java | jason | -- |
| | 学习linux | dong | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec) MariaDB [jason]> insert into runoob_tbl(
-> runoob_title,runoob_author,submission_date
-> )
-> values
-> ("学习php","jason",now()),
-> ("学习c++","dong",now());
Query OK, rows affected, warnings (0.01 sec)
Records: Duplicates: Warnings: MariaDB [jason]> commit;
Query OK, rows affected (0.00 sec) MariaDB [jason]> select * from runoob_tbl ;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| | 学习python | 菜鸟教程 | -- |
| | 学习scala | 菜鸟教程 | -- |
| | 学习java | jason | -- |
| | 学习linux | dong | -- |
| | 学习php | jason | -- |
| | 学习c++ | dong | -- |
+-----------+--------------+---------------+-----------------+
rows in set (0.00 sec)

mysql 基本操作二的更多相关文章

  1. Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用

    MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...

  2. mysql 基本操作语句

    mysql 基本操作笔记: 创建表demo:CREATE TABLE `role` ( `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMME ...

  3. css属性编写顺序+mysql基本操作+html细节(个人笔记)

    css属性编写顺序: 影响文档流的属性(比如:display, position, float, clear, visibility, table-layout等) 自身盒模型的属性(比如:width ...

  4. MySQL优化二(连接优化和缓存优化)

    body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...

  5. 从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建

    从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建 废话不说,直接撸步骤!!! 1.创建主项目:ncc-parent 选择maven创建项目,注意在创建项目中,packing选择 ...

  6. 【mysql】mysql基本操作

    mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from ...

  7. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

  8. Python/MySQL(二、表操作以及连接)

    Python/MySQL(二.表操作以及连接) mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. 外键 :可以进行联合外键,操作. mysql> create table y ...

  9. mysql进阶(二十九)常用函数

    mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...

随机推荐

  1. 调试 Go 的代码生成

    原文:https://studygolang.com/articles/19815 这是一个创建于 2019-04-17 23:12:26 的文章,其中的信息可能已经有所发展或是发生改变. 2016 ...

  2. python 学习之 基础篇二 字符编码

    声明: 博文参考1:字符编码发展历程(ASCII,Unicode,UTF-8) 博文参考2:Python常见字符编码间的转换 (1)为什么要用字符编码 早期的计算机使用的是通电与否的特性的真空管,如果 ...

  3. 响应式开发 纯CSS实现隐藏菜单栏

    // 将要隐藏的菜单设置 display: block; // 然后在菜单上面设置一个点击选项,如“菜单”<label for="toggle-checkbox" id=&q ...

  4. iOS7向开发者开放的新功能汇总

    转自:http://www.25pp.com/news/news_28002.html iOS7才放出第二个测试版本,我们已经看到了不少的新功能和新改变.最近,科技博客9to5Mac将iOS7中向开发 ...

  5. i春秋——“百度杯”CTF比赛 十月场——Login

    根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 <?php inc ...

  6. AI:WEB:1 Walkthrough

    AI: Web: 1 Vulnhub Walkthrough靶机下载:https://www.vulnhub.com/entry/ai-web-1,353/测试方法:    Nmap网络扫描    浏 ...

  7. iOS相关

    1. fastlane a collection of tools that help you automate building and releasing iOS and Android apps ...

  8. 利用selenium和ffmpeg爬取m3u8 ts视频《进击的巨人》

    需求 想看下动漫<进击的巨人>,发现到处被和谐,找不到资源,但是在一个视频网站找到了在线播放,https://www.55cc.cc/dongman/17890/player-2-1.ht ...

  9. CDH5.13快速体验

    相对于易用性很差Apache Hadoop,其他商业版Hadoop的性能易用性都有更好的表现,如Cloudera.Hortonworks.MapR以及国产的星环,下面使用CDH(Cloudera Di ...

  10. (原)堆叠hourglass网络

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11486185.html 论文: https://arxiv.org/abs/1603.06937 官 ...