【MYSQL】语法复习
2018-06-18 01:02:10来源:未知 阅读 ()
一、数据类型
截图来源: 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, '0000') 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`
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash