mysql非常全的和完整的总结
(1)数据类型
|
类型 |
备注 |
|
tinyint/smallint/mediumint/int/bigint |
1B/2B/3B/4B/8B |
|
float/double |
单精度/双精度浮点型 |
|
decimal |
不会产生精度丢失的单精度/双精度浮点型 |
|
date |
日期类型 |
|
time |
时间类型 |
|
datetime/TimeStamp |
日期时间类型/TimeStamp(登录时间,自动填充) |
|
year |
年类型 |
|
char |
定长字符串类型 |
|
varchar |
可变长字符串类型 |
|
tinyblob/blob/mediumblob/longblob |
255B/64K/16M/4G大小图片/音乐二进行数据 |
|
tinytext/text/mediumtext/longtext |
255B/64K/16M/4G大小的文本数据 |
(2)mysql小知识
①登录
mysql > mysql -u root -p回车
****回车
mysql > exit回车
②创建/使用/查看/删除数据库
create database 数据库名;(以分号结束),SQL命令大小写无关
show databases;
use 数据库名;
③修改/备份/恢复数据库数据
备份:c:\> mysqldump -u root -p mydb2 > d:\mydb2.sql回车(可无分号结束)密码回车
注意:该SQL命令是MySQL特有的,必须是MySQL环境外执行,即WindowXp环境中执行(退出mysql平台)
恢复:mysql:\> source d:\mydb2.sql;回车(需要分号结束)
注意:该SQL命令是MySQL特有的,必须是MySQL环境中执行。
④MySQL支持数据类型简介
(1)Date/Datetime/TimeStamp,定界符使用''或"",但部份数据库可能不支持"",优先推荐''作为定界符,对于日期类型,MySQL数据库有一个的判段-功能
(2)varchar(变长)/char(定长)
(3)Text(大于65536字符的数据)/Blob(存储二进制多媒体数据,例如Mp3等),该二类型都有四个子类型,根据存储内容的大小进行选择
(4)INT型有带符号和无符号之分,int(5)表示int默认为5位,如果插入id值,小于5位,左补空格,如果插入id值,大于5位,按照插入值,但必须满足int类型的大小确定
(5)FLOAT(M,D),D表示小数点后的D位,按四舍五入计算,M表示除小数点外的所有位数总和
⑤MySQL修改表和字符集
show variables like 'character%';
set character_set_results=gbk;
(3)MySQL解决中文乱码(XP下)
2种解决方案:
a)在当前MySQL客户端修改输入和输出的MySQL环境变量为GBK或GB2312,注意,该种方式只在当前窗口中有效
b)修改MySQL目录下的my.ini文件,将客户端的缺省编码方式改为GBK或GB2312,注意,需要重新启动MySQL服务
(4)表的增删改操作
a)insert
b)update
c)delete from 或truncate table或drop table
delete from:按行删除表中的所有记录,但会保留表,适合删除数据量不大数据,可按条件删除
truncate table:复制原表结构-〉一次性删除整表 -> 自动恢复原表结构,适合删除数据量较大数据,不能按条件删除
drop table:删除表本身
删除记录时,一定要留意表间的关联关系
(5)表的查询操作
(1)select distinct/*/列名 from 表名
(2)select 表达式/对列名加别名 from 表名 NULL+X=NULL
(3)where子句,出现在from后面,where是按行筛选
(4)逻辑运算和关系运算
(5)排序:NULL值为最小,使用order by子句,默认升序,order by子句必须放置在最后
(6)复合函数
①count()函数,统计之用,不统计NULL值
②sum()函数,统计和之用,不要统计非数值,如果统计非数值,返回0
*********************************************************************************************************************************
尽量不要在for/foreach等循环语句中使用sql语句,这样做对数据库的资源是很大的消耗,如果数据不多的话可以拿全集(join子句)通过PHP进行筛选,或者使用mysql的in()查询。如果表中的数据量很大的话,使用join进行关联查询同样会拖慢查询效率,此时应该先从A表中查出所有记录,将id组合成字符串,然后使用in()子句在B表中查出相应记录。
mysql非常全的和完整的总结的更多相关文章
- mysql很全的和完整的总结
(1)数据类型 类型 备注 tinyint/smallint/mediumint/int/bigint 1B/2B/3B/4B/8B float/double 单精度/双精度浮点型 decimal 不 ...
- MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析
文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ...
- mysql的全量备份与增量备份
mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 备份所有数据库:[root@my ~]# mysqldump -uroo ...
- MySQL最全存储引擎、索引使用及SQL优化的实践
1 MySQL的体系结构概述 整个MySQL Server由以下组成 :Connection Pool :连接池组件Management Services & Utilities :管理服务和 ...
- Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录
Mysql最常用的三种备份工具分别是mysqldump.Xtrabackup(innobackupex工具).lvm-snapshot快照.前面分别介绍了:Mysql备份系列(1)--备份方案总结性梳 ...
- MySql避免全表扫描【转】
原文地址:http://blog.163.com/ksm19870304@126/blog/static/37455233201251901943705/ 对查询进行优化,应尽量避免全表扫描,首先应考 ...
- Mysql避免全表扫描sql查询优化 .
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_n ...
- MySql避免全表扫描
对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_name为 ...
随机推荐
- 小心transform
张老师总结的,感谢! <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- java面试题05
1.写一个冒泡排序的算法 升序排列: public static void main(String[] args) { int score[] = { 67, 20, 75, 87, 89, 90, ...
- MySQL_产品昨日库存与历史入库历史出库成本_20161124
产品昨日库存与历史入库历史出库成本 SELECT d.ID,a.*,e.昨日订单额 ,b.昨天入库额,b.历史2天,b.历史3天,b.历史4天,b.历史5天,b.历史6天,b.历史7天,b.历史8天, ...
- 「HNOI2008」「LuoguP3197」越狱(数论
题目描述 原题来自:HNOI 2008 监狱有连续编号为 111 到 nnn 的 nnn 个房间,每个房间关押一个犯人.有 mmm 种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人信仰的宗教相同, ...
- C++之迭代器失效总结
1. 对于序列式容器(如vector,deque),序列式容器就是数组式容器,删除当前的iterator会使后面所有元素的iterator都失效.这是因为vetor,deque使用了连续分配的内存,删 ...
- 面向对象(封装)get set的由来
封装:是指隐藏对象的属性和实现细节,进对外提供公共访问方式 好处:将变化隔离.便于使用,提高重用性,提高安全性 封装原则:将不需要对外提供的额内容隐藏起来,把属性都隐藏,提供公共方法对其访问 pack ...
- 如何解决 Matlab 画图时中文显示乱码的问题?
使用的是win10系统,从前几个月某一天,我的matlab的figure里的中文都变成了口口.很是郁闷,还以为是动到了什么配置引起的. 前几天更新了matlab 2018b,发现还有这个问题.就觉得不 ...
- 《SpringBoot揭秘 快速构建微服务体系》读后感(五)
应用日志和spring-boot-starter-logging 快速web应用开发与spring-boot-starter-web 1.项目结构层面的约定
- HDU5381【莫队算法+区间GCD特性】
前言: 主要最近在刷莫队的题,这题GCD的特性让我对莫队的使用也有了新的想法.给福利:神犇的一套莫队算法题 先撇开题目,光说裸的一个莫队算法,主要的复杂度就是n*sqrt(n)对吧,这里我忽略了一个左 ...
- es6常用方法
一.let 和 constlet 声明变量,只在所在的块区有效,不存在变量提升:var 存在变 量提升const 声明常量,只在所在块区有效 二.变量的解构赋值1.数组的解构赋值let [a, b, ...