1、切换数据库

  use blog;

2、显示当前数据库 所有的表。

      show tables; 
+----------------+
| Tables_in_blog |
+----------------+
| test |
| y2bg_article |
| y2bg_category |
| y2bg_link |
| y2bg_user |
+----------------+

3、显示指定表的字段信息

    desc y2bg_user;

+----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(255) | NO || NULL ||
| password | varchar(64) | NO ||||
| email | varchar(255) | YES || NULL ||
| type | tinyint(1) unsigned | NO || 1 ||
| logo | varchar(255) | YES || NULL ||
| status | tinyint(1) | NO || 0 ||
+----------+---------------------+------+-----+---------+----------------+
7 rows in set

4、显示表详细信息

  show create table y2bg_user;

  | y2bg_user | CREATE TABLE `y2bg_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) NOT NULL COMMENT '用户名',
`password` varchar(64) NOT NULL DEFAULT '' COMMENT '密码',
`email` varchar(255) DEFAULT NULL COMMENT '电子邮箱',
`type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '类型',
`logo` varchar(255) DEFAULT NULL COMMENT 'Logo',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户表' |

5、建表语句

create table rhythmk(id int(8),name varchar(100),email varchar(200));

6、添加表字段

alter table rhythmk add column  create_time timestamp;

7、删除表字段

alter table rhythmk drop column  create_time;

8、修改表字段名称

alter table rhythmk   change   email  mail varchar(250);

9、修改表字段属性

  alter table rhythmk   modify   mail varchar(200)  NOT NULL COMMENT '用户邮箱';

备注:
change 、modify 都可以修改表字段属性, change 修改是需要两次输入表字段,而modify 只需要一次输入表字段属性, 但 change是可以修改表字段名称的 modify是不支持的 。
10、关联修改:

    update mlog.t_article a INNER JOIN mlog.t_article_tag b
on a.id=b.id
set a.title=CONCAT(a.title,'_update')
where a.id=1;

11、关联删除

DELETE  a  FROM  mlog.t_article a INNER JOIN mlog.t_article_tag b
on a.id=b.id
where a.id=10;

12、MySQL的扩展SQL中有一个非常有意思的应用WITH ROLLUP,在分组的统计数据的基础上再进行相同的统计。
按分类统计数量 并求总数据量

select  article_id ,COUNT(*) item_count from mlog.t_article_tag  GROUP BY  article_id  WITH  ROLLUP;
+------------+------------+
| article_id | item_count |
+------------+------------+
| 3 | 1 |
| 4 | 3 |
| NULL | 4 |
+------------+------------+
3 rows in set

13、union 与 union all 是将 union 结果进行一次去重处理。

14、ZEROFILL 添加0占位符,只是在影响显示结果,且只能在cmd 或者 linux 命令行才能看到效果,位数不足用O补充,超过位将忽视。

15、mysql ,字母数字皆占1位,UTF-8中一个汉字3个字节,GBK中 一个汉字占用2个字节:

select LENGTH('abc'); -- 3
select LENGTH('abc123'); -- 6
select LENGTH('我来了'); -- 9 select CHAR_LENGTH('abc'); -- 3
select CHAR_LENGTH('abc123'); -- 6
SELECT CHAR_LENGTH('我来了'); -- 3

如果新建一个 varchar(10)的字段 是可以存放10个字符。 [数字\字母\汉字]皆占一个字符位。

16、时间 日期类型:
如果想表示年月日用 Date (1000-01-01~9999-12-31)
如果想表示年月日时分秒 DATETIME (1000-01-01 00:00:00~9999-12-31 23:59:59)
datetime与timestamp区别,timestamp (1970 –2037 ) 范围相对比较小
17、char 与 varcahr区别
1>、char 范围为 0~255,varchar 范围为 0~63 535
2>、char 会将插入字段中的值后面的空格去除掉,varchar 则原样保存。
3>、存储空间需求不一样
值 CHAR(4) 存储需求 VARCHAR(4) 存储需求
” ’ ’ 4个字节 ” 1个字节
‘ab’ ‘ab ’ 4个字节 ‘ab ’ 3个字节
‘abcd’ ‘abcd’ 4个字节 ‘abcd’ 5个字节
‘abcdefgh’ ‘abcd’ 4个字节 ‘abcd’ 5个字节

———— Mysql 中的 运算符
18、 算术运算符加、减、乘、除、求末运算,以及0为被除数返回的为null。

select 1.00+2.00 ,1.00-2.00,1.00*2.00,1.00/2.00,7%2,3/0;

+-----------+-----------+-----------+-----------+-----+------+
| 1.00+2.00 | 1.00-2.00 | 1.00*2.00 | 1.00/2.00 | 7%2 | 3/0 |
+-----------+-----------+-----------+-----------+-----+------+
| 3 | -1 | 2 | 0.5 | 1 | NULL |
+-----------+-----------+-----------+-----------+-----+------+ 1 row in set select mod(10,3); //求末 等价 10%3
select 10 div 2; //求余 等价 10/2

19、regexp 运算符的使用格式为 str regexp strpart, 存在想匹配的字符串返回1,
不存在匹配的字符串 返回0

select 'abcdef' regexp 'a'; //1
select 'abcdef' regexp 'k'; //0

——- MYSQL 常用字符串函数 –
20、concat (p1,p2 … pn) 连接s1,s2,..pn 为一个字符串。
21、insert(str,x,y,instr) 将字符串str 从x位开始,y个字符长度,替换为字符串instr。

   SELECT INSERT('abcdefg',1,4,'AAA'); -- AAAefg

22、LOWER ,UPPER 转换大小写函数

SELECT LOWER('abCD');    -- abcd
SELECT UPPER('abCD'); -- ABCD

23、LEFT,RIGHT 从左右端分别截取字符串函数:

SELECT LEFT('ABCD',2);   -- AB
SELECT RIGHT('ABCD',2); -- CD

24、LPAD(str,x ,s)|RPAD(str,x ,s)根据提供字符串str,如果长度小于x则左|右补充s字符。

SELECT LPAD('a',5,'#');  -- ####a
SELECT RPAD('a',5,'#'); -- a####

25、LTRIM 去除左空格,RTRIM 去除右空格,TRIM 去除左右空格。

SELECT LTRIM(' A '); -- A ;
SELECT RTRIM(' A '); -- A;
SELECT TRIM(' ABC '); -- ABC

26、SUBSTRING(str,x,len) 从x位开始,截取字符串str,len长度。

 SELECT SUBSTRING('acbcdef',2,3); -- cbc

27、REPEAT(str,x) 重复str字符串,x次。

SELECT REPEAT('my ',5);  -- my my my my my 

28、REPLACE(str,x,y)将字符串str,中x 字符替换成y字符串.

SELECT REPLACE('abcdeabc','a','##')  -- ##bcde##bc

29、常用数值函数

# CEIL(X) 返回大于X的最少整数
SELECT CEIL(11.1); -- 12 #FLOOR(X) 返回小于X的最大整数
SELECT FLOOR(11.9); -- 11 #求模
SELECT MOD(10,3); -- 1 #随机数
SELECT RAND(); -- 0.03454766891388937 # 四舍五入
SELECT ROUND(12.3356); -- 12
SELECT ROUND(12.3356,2); -- 12.34 #返回指定小数位
SELECT TRUNCATE(12.12345,2); -- 12.12

29、常用时间函数

SELECT NOW();           -- 2016-03-28 14:30:02
SELECT CURDATE(); -- 2016-03-28
SELECT CURRENT_TIME(); -- 14:30:02
SELECT YEAR(NOW()); -- 2016
SELECT MONTH(NOW()); -- 3
SELECT DAY(NOW()); -- 28
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'); -- 2016-03-28 14:35:19
SELECT DATE_ADD(NOW(),INTERVAL -1 DAY); -- 2016-03-27 14:36:28
# DATEDIFF(expr1,expr2) 计算两个日期之间的天数
SELECT DATEDIFF('2016-03-06','2016-03-12'); -- -6

30、IF ,IFNULL, CASE [expr] WHEN | CASE WHEN … END 流程函数

SELECT IF(1=1,'TRUE','FALSE');  -- TRUE
SELECT IFNULL(NULL,0) ; -- 0 SELECT CASE cid when 1 then 'a'
when 2 then 'b'
else '' end
FROM blog.test; SELECT CASE when cid=1 then 'a'
when cid=2 then 'b'
else '' end
FROM blog.test;
 
 

深入浅出MySQL 数据库开发、优化与管理维护(第2版) -- 读书笔记 -- 基础篇的更多相关文章

  1. 深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎 - 数据类型 - 字符集和校验规则 -

    create schema deepInMySql;use deepInMySql; -- 查看当前默认存储引擎show variables like '%table_type%'; -- 查看当前数 ...

  2. MYSQL数据库的优化

    我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择.MySQL的安装.my.cnf的优化.MySQL如何进行架构设计及数据切分等方面来说明这个问题. 服务器物理硬件的优化 在 ...

  3. [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...

  4. mysql数据库性能优化(包括SQL,表结构,索引,缓存)

    优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...

  5. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...

  6. MySQL 数据库性能优化之索引优化

    接着上一篇 MySQL 数据库性能优化之表结构,这是 MySQL数据库性能优化专题 系列的第三篇文章:MySQL 数据库性能优化之索引优化 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引 ...

  7. MySQL数据库以及表的管理

    MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有 ...

  8. MySQL数据库开发规范-EC

    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...

  9. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

随机推荐

  1. Atitit. C# java 的api 目录封装结构映射总结

    Atitit. C#  java 的api 目录封装结构映射总结 C# java ref System.Reflection System.Type, java.lang.ref concurrent ...

  2. paip.hibernate save 失败的解决

    paip.hibernate save 失败的解决   打开log  debug  level,,看不见insert 代码...     Hibernate select max(ID).txt   ...

  3. 苹果App部署HTTPS进行在线下载安装

    苹果App的ipa下载需要有几个前提,可参考:Android和IOS的本地App如何安装(apk&ipa) 本文主要介绍如何部署https提供ipa的下载,步骤如下: 1. 搭建一个HTTPS ...

  4. Activity后台运行一段时间回来crash问题的分析与解决

    最近做项目的时候碰到一个棘手的问题,花了不少时间才找到原因并解决.特此记录这个被我踩过的坑,希望其他朋友遇到此问题不要调到这坑里去了. 问题描述: 1.背景:我的app中某个界面的Activity是继 ...

  5. 【转载】Scarbee Pre-Bass 贝司的使用教程

    Fender(芬达)的顶级型号Precision贝司的缩写! 好了,在了解完关于这个Bass音色的一些背景后,我们开始使用Pre-Bass了,先在Kontakt 3.5或Kontakt 4中读取它,由 ...

  6. IE6-IE11兼容性问题列表及解决办法总结

    相比IE6-IE9那版,主要添加IE10和IE11的新变化. 以下是目录及下载链接: 目录 概述 2 第一章:HTML 3 第一节:IE7-IE8更新 3 1. 如果缺少结束标记的 P 元素后跟 TA ...

  7. MongoDB副本集配置系列九:MongoDB 常见问题

    What is a namespace in MongoDB? If you remove a document, does MongoDB remove it from disk? When doe ...

  8. Dell U2913WM使用感受

    21:9比例,本来想代替双屏的,一周用下来还是不适应,如何能弯成曲面就爽了.感觉最舒服的还是以前19寸5:4双屏,点距大. 还尝试在旁边立个23寸,看了15分钟就受不了,头晕. 漏光,还行. 加了个A ...

  9. Scala 深入浅出实战经典 第67讲:Scala并发编程匿名Actor、消息传递、偏函数解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  10. C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]

    原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...