mysql的语句啰嗦_mysql语句(一)

--建表

CREATE TABLE IF NOT EXISTS `runoob_tbl`(

`runoob_id` INT UNSIGNED AUTO_INCREMENT,

`runoob_title` VARCHAR(100) NOT NULL,

`runoob_author` VARCHAR(40) NOT NULL,

`submission_date` DATE,

PRIMARY KEY ( `runoob_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

3a8677bbf21ca65043a4fe418491b023.png

--插入数据

INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("学习 PHP", "菜鸟教程", NOW());

INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("学习 MySQL", "菜鸟教程", NOW());

INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("JAVA 教程", "RUNOOB.COM", '2016-05-06');

INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("学习 Python", "RUNOOB.COM", '2016-05-06');

136d3c310a6924ed10bbfd74301b85ee.png

--查询全部

select * from runoob_tbl

bd9a58a6185ab222a17cfc89fd2df037.png

--条件查询where

select * from runoob_tbl where runoob_author = "菜鸟教程"

dfe1d8f2b902f1d7da7002001e87a7bd.png

--多重条件查询

select * from runoob_tbl where runoob_author = "菜鸟教程" AND runoob_id = 1

29b925b6a529fbd374daa858232986be.png

--更新数据库字段

UPDATE runoob_tbl SET runoob_title="学习 C++" WHERE runoob_id = 3

27d3324d05fb288cfa23f48ec7f790c6.png

--更新数据库表部分字段

UPDATE runoob_tbl SET runoob_title=REPLACE(runoob_title,'C++','Python') WHERE runoob_id = 3

a4ae46d19bd975b70a2dbfcd0c380410.png

--删除数据 delete from 表名称 where 删除条件;

DELETE FROM runoob_tbl WHERE runoob_id = 3

17dc02e1f8fdb34ad87cbaf2e864a65a.png

--MySQL LIKE 子句

SELECT* FROM runoob_tbl WHERE runoob_author LIKE('%COM')

a8fe113cddff4326a96af45e6c6efcd2.png

like 匹配/模糊匹配,会与 % 和 _ 结合使用。

'%a'//以a结尾的数据'a%'//以a开头的数据'%a%'//含有a的数据'_a_'//三位且中间字母是a的'_a'//两位且结尾字母是a的'a_'//两位且开头字母是a的

查询以 java 字段开头的信息。

SELECT *FROM position WHERE name LIKE 'java%';

查询包含 java 字段的信息。

SELECT *FROM position WHERE name LIKE '%java%';

查询以 java 字段结尾的信息。

SELECT *FROM position WHERE name LIKE '%java';

在 where like 的条件查询中,SQL 提供了四种匹配方式。

%:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

[^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。

--MySQL 排序

--在命令提示符中使用 ORDER BY 子句

select * from runoob_tbl ORDER BY submission_date ASC

83b1ec4a6c1000cc10ec2667782daf38.png

select * from runoob_tbl ORDER BY submission_date DESC

1b1e923d9cb49c7edb57d9797b474fd2.png

--MySQL GROUP BY 语句

--创建新表

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;

--插入数据

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');

2c5a365117bc20406523c0a942d45518.png

--GROUP BY 语法

--接下来我们使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:

select name, count(*) from employee_tbl GROUP BY name

91e138069cef93eed6f11fee73bedae8.png

--使用 WITH ROLLUP

--WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。

SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;

5d518f9242b0e3b9da128fd6e4f0d9c9.png

SELECT coalesce(name,'总数'),SUM(singin)assingin_count FROM employee_tbl GROUP BY name WITH ROLLUP;2471282f4c22530bf36547ed23a7256a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值