mysql 基本操作二
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 基本操作二的更多相关文章
- Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...
- mysql 基本操作语句
mysql 基本操作笔记: 创建表demo:CREATE TABLE `role` ( `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMME ...
- css属性编写顺序+mysql基本操作+html细节(个人笔记)
css属性编写顺序: 影响文档流的属性(比如:display, position, float, clear, visibility, table-layout等) 自身盒模型的属性(比如:width ...
- MySQL优化二(连接优化和缓存优化)
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建
从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建 废话不说,直接撸步骤!!! 1.创建主项目:ncc-parent 选择maven创建项目,注意在创建项目中,packing选择 ...
- 【mysql】mysql基本操作
mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from ...
- python/MySQL练习题(二)
python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...
- Python/MySQL(二、表操作以及连接)
Python/MySQL(二.表操作以及连接) mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. 外键 :可以进行联合外键,操作. mysql> create table y ...
- mysql进阶(二十九)常用函数
mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...
随机推荐
- PAT 1026程序运行时间
PAT 1026程序运行时间 要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间 ...
- redis的两种持久化方案
前言 人生在于折腾系列,网络,多线程等系列博客楼主还在继续折腾也不会放弃.缓存的知识其实并不仅仅在于简单的增删改查,我觉得有必要全面深入的学习一波.记录学习的过程与体悟. RDB 什么是RDB 对re ...
- python高级编程——锁
锁 在使用用的过程中需要导入threading模块的Lock类 使用锁: 当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制 线程同步能够保证多个线程安全访问竞争资源,最 ...
- delphi 接口
第四章 接口 前不久,有位搞软件的朋友给我出了个谜语.谜面是“相亲”,让我猜一软件术语.我大约想了一分钟,猜 出谜底是“面向对象”.我觉得挺有趣,灵机一动想了一个谜语回敬他.谜面是“ ...
- Spark MLlib基本算法【相关性分析、卡方检验、总结器】
一.相关性分析 1.简介 计算两个系列数据之间的相关性是统计中的常见操作.在spark.ml中提供了很多算法用来计算两两的相关性.目前支持的相关性算法是Pearson和Spearman.Correla ...
- 使用vnc远程操控Centos7.6
安装vncserver [root@elegant-snap-3 ~]# yum install tigervnc-server -y Loaded plugins: fastestmirror De ...
- thinkphp整合系列之极验滑动验证码geetest
给一个央企做官网,登录模块用的thinkphp验证码类.但是2019-6-10到12号,国家要求央企检验官网漏洞,防止黑客攻击,正直贸易战激烈升级时期,所以各事业单位很重视官网安全性,于是乎集团总部就 ...
- sqlmap基本信息及参数使用方法
当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: ...
- TCP 通信时序及状态变迁
TCP 通信时序及状态变迁 参考链接: https://www.cnblogs.com/boxker/p/11214886.html https://blog.csdn.net/miss_ruoche ...
- linux禁止root用户直接登录
允许root用户登录是很不安全的,但是有时候为了测试的方便, 也可以允许root用户登录,但是这个方法最好不要对公网开放使用. 1.新建一个用户,用来登录 test@cloud:~> usera ...