目录 17. MySQL中使用 REGEXP 操作符来进行正则表达式匹配。 两个–后接一个空格 语法: 上面案例说明: 语法: 语法: 以下为在MySQL数据库中查询数据通用的 SELECT 语法: 给数据做分页的时候 offset为limit的倍数 假设每页显示数量为5, 第一页数据则是1-5 第二页就是吧offset 设置成5依次类推写个函数即可。 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法: 以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法: MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 MySQL UNION 操作符语法格式: expression1, expression2, … expression_n: 要检索的列。 tables: 要检索的数据表。 WHERE conditions: 可选, 检索条件。 DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。 ALL: 可选,返回所有结果集,包含重复数据。 user表: user2表: 结果: MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。 以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据: 现将下方的sql导入到自己数据库 COUNT数量, SUM总和 MySQL 的 JOIN 在两个或多个表中查询数据。 你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。 JOIN 按照功能大致分为如下三类: 先执行下边sql文件生成2个表 两个表的结构 runoob_tbl tcount_tbl JOIN 取交集 执行 结果 取左表的全部,和右边对应不上的为null 会读取右表的全部,左表没有的标null 以下两条语句是不生效的 为了处理这种情况,MySQL提供了三大运算符: 要这样子写
-- 测试注释
2.多行注释
/* 多行注释 gang */
3. 新建数据库
CREATE DATABASE 数据库名;
4.删除数据库
DROP DATABASE <数据库名>;
5. 创建表
CREATE TABLE table_name (column_name column_type);
CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户表的用户ID', `name` varchar(255) NOT NULL DEFAULT '' COMMENT '收货人名称', `first_name` varchar(255) DEFAULT NULL, `last_name` varchar(255) DEFAULT NULL, `sure_name` varchar(255) DEFAULT NULL, `postal_code` varchar(255) DEFAULT NULL COMMENT '邮政编码', `country_code` varchar(10) DEFAULT NULL, `tel` varchar(30) NOT NULL DEFAULT '' COMMENT '手机号码', `province` varchar(255) NOT NULL COMMENT '行政区域表的省ID', `city` varchar(255) NOT NULL COMMENT '行政区域表的市ID', `county` varchar(255) NOT NULL COMMENT '行政区域表的区县ID', `address_detail` varchar(255) NOT NULL DEFAULT '' COMMENT '详细收货地址', `area_code` char(6) DEFAULT NULL COMMENT '地区编码', `is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否默认地址', `add_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除', PRIMARY KEY (`id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='收货地址表';
6.MySQL 删除数据表
DROP TABLE table_name ;
-- 删除 DROP TABLE `admin`; -- 下边这个是如果存在这个表,就删除 DROP TABLE IF EXISTS `address`;
7.MySQL 插入数据
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
INSERT INTO `runoob_tbl` VALUES ('1', '学习 PHP', '菜鸟教程', '2017-04-12'), ('2', '学习 MySQL', '菜鸟教程', '2017-04-12'), ('3', '学习 Java', 'RUNOOB.COM', '2015-05-01'), ('4', '学习 Python', 'RUNOOB.COM', '2016-03-06'), ('5', '学习 C', 'FK', '2017-04-05');
8.MySQL 查询数据
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
- 查询 -- SELECT * FROM runoob_tbl; -- SELECT * FROM runoob_tbl WHERE runoob_author='as'; -- MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的 -- SELECT * from runoob_tbl WHERE BINARY runoob_author='AS';
9.MySQL UPDATE 更新记录
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
-- 更新 UPDATE runoob_tbl SET runoob_title='学习BUKEKU' WHERE runoob_id=2; -- 这个语句的含义 是 runoob_id =2的时候我改这个runoob_title为'学习BUKEKU'
10.MySQL DELETE 语句删除记录
DELETE FROM table_name [WHERE Clause]
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
-- 删除 DELETE FROM runoob_tbl WHERE runoob_id=4;
11.MySQL LIKE 子句 模糊查询
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
/* like 匹配/模糊匹配,会与 % 和 _ 结合使用。 '%a' //以a结尾的数据 'a%' //以a开头的数据 '%a%' //含有a的数据 '_a_' //三位且中间字母是a的 '_a' //两位且结尾字母是a的 'a_' //两位且开头字母是a的 */ SELECT * from runoob_tbl WHERE runoob_author LIKE 'a%'; -- 找到以a开头的。
12.MySQL UNION 操作符 联合查询
语法
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
参数
SELECT name,age FROM user WHERE age>35 UNION SELECT name,age FROM user2 WHERE age>40 ORDER BY age;
13.MySQL 排序
SELECT field1, field2,...fieldN FROM table_name1, table_name2... ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
-- 排序 ASC升序 DESC 降序 SELECT * FROM user WHERE age>19 ORDER BY age DESC;
14.MySQL GROUP BY 语句
SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `employee_tbl` -- ---------------------------- DROP TABLE IF EXISTS `employee_tbl`; CREATE TABLE `employee_tbl` ( `id` int(11) NOT NULL, `name` char(10) NOT NULL DEFAULT '', `date` datetime NOT NULL, `singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `employee_tbl` -- ---------------------------- BEGIN; INSERT INTO `employee_tbl` VALUES ('1', '小明', '2016-04-22 15:25:33', '1'), ('2', '小王', '2016-04-20 15:25:47', '3'), ('3', '小丽', '2016-04-19 15:26:02', '2'), ('4', '小王', '2016-04-07 15:26:14', '4'), ('5', '小明', '2016-04-11 15:26:40', '4'), ('6', '小明', '2016-04-04 15:26:54', '2'); COMMIT; SET FOREIGN_KEY_CHECKS = 1;
GROUP BY 语法
SELECT column_name, function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;
SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;
SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
/* 我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法: select coalesce(a,b,c); 参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。 */ SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP; /* +--------------------------+--------------+ | coalesce(name, '总数') | singin_count | +--------------------------+--------------+ | 小丽 | 2 | | 小明 | 7 | | 小王 | 7 | | 总数 | 16 | +--------------------------+--------------+ */
15.MySQL 连接的使用 联合多表查询
/* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Server Version : 50621 Source Host : localhost Source Database : RUNOOB Target Server Version : 50621 File Encoding : utf-8 Date: 04/13/2017 14:25:12 PM */ SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `runoob_tbl` -- ---------------------------- DROP TABLE IF EXISTS `runoob_tbl`; CREATE TABLE `runoob_tbl` ( `runoob_id` int(11) NOT NULL AUTO_INCREMENT, `runoob_title` varchar(100) NOT NULL, `runoob_author` varchar(40) NOT NULL, `submission_date` date DEFAULT NULL, PRIMARY KEY (`runoob_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `runoob_tbl` -- ---------------------------- BEGIN; INSERT INTO `runoob_tbl` VALUES ('1', '学习 PHP', '菜鸟教程', '2017-04-12'), ('2', '学习 MySQL', '菜鸟教程', '2017-04-12'), ('3', '学习 Java', 'RUNOOB.COM', '2015-05-01'), ('4', '学习 Python', 'RUNOOB.COM', '2016-03-06'), ('5', '学习 C', 'FK', '2017-04-05'); COMMIT; -- ---------------------------- -- Table structure for `tcount_tbl` -- ---------------------------- DROP TABLE IF EXISTS `tcount_tbl`; CREATE TABLE `tcount_tbl` ( `runoob_author` varchar(255) NOT NULL DEFAULT '', `runoob_count` int(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of `tcount_tbl` -- ---------------------------- BEGIN; INSERT INTO `tcount_tbl` VALUES ('菜鸟教程', '10'), ('RUNOOB.COM ', '20'), ('Google', '22'); COMMIT; SET FOREIGN_KEY_CHECKS = 1;
SELECT a.runoob_id,a.runoob_title, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
LEFT JOIN
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; +-------------+-----------------+----------------+ | a.runoob_id | a.runoob_author | b.runoob_count | +-------------+-----------------+----------------+ | 1 | 菜鸟教程 | 10 | | 2 | 菜鸟教程 | 10 | | 3 | RUNOOB.COM | 20 | | 4 | RUNOOB.COM | 20 | | 5 | FK | NULL | +-------------+-----------------+----------------+
RIGHT JOIN
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; +-------------+-----------------+----------------+ | a.runoob_id | a.runoob_author | b.runoob_count | +-------------+-----------------+----------------+ | 1 | 菜鸟教程 | 10 | | 2 | 菜鸟教程 | 10 | | 3 | RUNOOB.COM | 20 | | 4 | RUNOOB.COM | 20 | | NULL | NULL | 22 | +-------------+-----------------+----------------+
16.MySQL NULL值处理
SELECT * FROM runoob_test_tbl WHERE runoob_count = NULL; SELECT * FROM runoob_test_tbl WHERE runoob_count != NULL;
SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL; SELECT * FROM runoob_test_tbl WHERE runoob_count IS NOT NULL;
17. MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
-- 正则 关键字 REGEXP SELECT * FROM runoob_new WHERE runoob_author REGEXP '^R';
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算