【MYSQL】语法复习
一、数据类型



截图来源: http://www.runoob.com/mysql/mysql-data-types.html
二、基本语句
1、创建数据表
-- 主键自增,T_User
CREATE TABLE IF NOT EXISTS `T_User`(
`Id` INT UNSIGNED AUTO_INCREMENT,
`Name` VARCHAR(100) NOT NULL,
`CardNo` VARCHAR(40) NOT NULL,
`Birthday` DATE,
PRIMARY KEY ( `Id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、删除数据表
DROP TABLE T_School;
3、表字段修改
-- 新增字段
ALTER TABLE T_User ADD ClassName VARCHAR(100) NOT NULL; -- 删除字段
ALTER TABLE T_User DROP CardNo; -- 修改字段数据属性
ALTER TABLE T_User MODIFY Name BIGINT NOT NULL DEFAULT 100; -- 修改字段名称
ALTER TABLE T_User CHANGE Name RealName VARCHAR(100);
4、新增表数据
INSERT INTO T_User (Name, CardNo, BirthDay) VALUES('大王', '0001', NOW());
5、删除数据
-- 条件删除
DELETE FROM T_User WHERE Id=3; -- 重置表格,自增主键重新计算
TRUNCATE TABLE T_User;
6、更新数据
UPDATE T_User SET Name='女王', CardNo='NX_01' WHERE Id=4;
7、查询数据
-- 条件查询
SELECT * FROM T_User WHERE Id>2 AND Name IS NOT NULL; -- 分组
SELECT Name FROM T_User GROUP BY Name; -- 排序,默认ASC,顺序
SELECT * FROM T_User ORDER BY Id DESC; /*
INNER JOIN(内连接,或等值连接:获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接:获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接:与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
*/
SELECT TU.* FROM T_User TU
INNRT JOIN T_School TS ON TS.Id = TU.SchoolId
WHERE TS.`LEVEL` = 1; /*
UNION ALL: 返回所有结果集,包含重复数据
UNION DISTINCT: 删除结果集中重复的数据,默认去重
*/
SELECT Id, Name FROM T_User WHERE ClassName='三年二班'
UNION ALL
SELECT Id, Name FROM T_User WHERE ClassName='三年五班' -- 统计行数
SELECT COUNT(1) FROM T_User;
三、其他函数
1、判断
SELECT
IF(SEX = 1, '男', '女') SEX
FROM T_USER;
2、逗号拼接
SELECT
GROUP_CONCAT(Name)
FROM T_User
LIMIT 10;
3、判空
SELECT
IFNULL(CardNo, '') CardNo
FROM T_User
WHERE Id>10;
4、转换数据类型
//类型转换
SELECT CAST(Id AS CHAR) FROM T_User;
//拼接个空字符串,隐式转换
SELECT CONCAT(Id,'') FROM T_User;
5、分页及统计行数
//方法一
SELECT
TAB.*,
@i Total
FROM
(SELECT
(@i := @i + 1) AS RowNum,
B.*
FROM
book B,
(SELECT @i := 0) AS it
) TAB
WHERE TAB.RowNum BETWEEN 5 AND 10
//方法二:
SET @i=0;
SELECT
TAB.*,
@i Total
FROM
(SELECT
(@i := @i + 1) AS RowNum,
B.*
FROM
book B
) TAB
WHERE TAB.RowNum BETWEEN 5 AND 10;
SET @i:=NULL;
6、时间格式转换
//yyyy-MM-dd HH:mm:ss
date_format(Birthday, '%Y-%m-%d %H:%i:%s')
7、分组拼接
SELECT
GROUP_CONCAT( CONCAT( CreateBy, ':', Remark ) )
FROM
book
GROUP BY
`Name`
【MYSQL】语法复习的更多相关文章
- mysql - 语法复习与学习
//本月的第一天,最后一天 $start=date('Y-m-01', strtotime(date("Y-m-d"))); echo date('Y-m-d', strtotim ...
- MYSQL 语法大全自己总结的
mysql语法大全 --------数据链接---------------------数据库服务启动net start mysql --关闭服务net stop mysql --登录 -u,-p后面不 ...
- 学习mysql语法--基础篇(一)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: 一.创建用户,创建数据库,给 ...
- 学习mysql语法--基础篇(二)
前 言 mysql mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成] DML ...
- mysql语法之case when then与列转行
mysql语法中case when then与列转行的使用场景非常丰富. case语句类似java中条件分支语句的作用,可以类比java中的switch语句或者if语句来学习. 其语法如下: case ...
- mongo 与 传统mysql语法对比
MongoDB语法 MySql语法 db.test.find({'name':'foobar'})<==> select ...
- Mongodb与mysql语法比较
Mongodb与mysql语法比较 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 ...
- mongodb linux基本启动 基础增删改 mysql语法的对比
一.主流数据源类型 还存在自定义数据源以及REST接口数据,共6中数据源. 二.linux下启动连接数据库 进去mongodb的目录启动服务:mongo --host 192.168.320.826 ...
- mysql语法、特殊符号及正则表达式的使用
http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...
随机推荐
- Git 管理项目
一个很小的HTML项目,使用.Git来记录和跟踪这个项目.包括以下内容: 创建版本库. 添加与修改文件. 创建新分支. 打标签并整理版本库. 克隆版本库. 创建版本库 Creating a Repos ...
- 上传文件限制导致413-Request Entity Too Large
在使用Nginx时,在异步上传图片到服务器时,发现抛出“error”错误,仔细发现抛出错误内容为:413-Request Entity Too Large,查看Tomcat运行日志时发现后台没有接收到 ...
- 精读JavaScript模式(二)
我在想知识点怎么去分类,原本计划一章节一篇,但这样会会显得长短不一.更主要的是看到哪写的哪更为随意.那么这一篇还是紧接第一篇进行知识梳理,上篇说到了更优化的for循环,现在继续聊聊其它的循环方式. 1 ...
- eclipse下查看java源码设置
myway: 1.选择一函数,按住ctrl,显示open declaration(或按F3); 2.点进去: 如果未配置,点 source attachment configuration -- ex ...
- winform窗体 控件【MDI 窗体容器】
MDI :窗体容器 -- 在窗体中放置窗体 属性 IsMdiContainer : 是否是窗体 -- 只有 Form 有此属性 Form2 f2 = new Form2(); ...
- JdbcTemplate 方法使用
作者QQ:1095737364 QQ群:123300273 欢迎加入! execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate ...
- tar.xz文件的解压
xz是绝大数linux默认就带的一个压缩工具. 压缩包xz格式的居然比7z还要小. 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些.不过压缩是一次性的,所以可以忽略. xz压缩文件方法 ...
- 微信小程序< 2 > ~ 微信小程序之头条新闻
简介 上一篇文章,主要是介绍下微信小程序的开发环境安装和微信组件什么的一些基础的开发内容,所以最近一直在业余找练手的机会.由于之前没有接触过JS,自己学习起来还算是比较的吃力,一点一点的来吧!要持久. ...
- JMeter4.0的界面汉化
1.安装好之后 2.界面汉化 options->choose language->chinese(simplified) 3.汉化完成
- Nginx基本的安全优化
为了防止nginx出现软件漏洞,我们要对nginx软件服务加强一些安全性,下面就介绍一下基本的安全优化 1.隐藏nginx版本号: 想要隐藏,首先我们要了解所使用软件的版本号,我们可以在Linux中查 ...