(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非常全的和完整的总结的更多相关文章

  1. mysql很全的和完整的总结

    (1)数据类型 类型 备注 tinyint/smallint/mediumint/int/bigint 1B/2B/3B/4B/8B float/double 单精度/双精度浮点型 decimal 不 ...

  2. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析

    文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...

  3. 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】

    https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ...

  4. mysql的全量备份与增量备份

    mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 备份所有数据库:[root@my ~]# mysqldump -uroo ...

  5. MySQL最全存储引擎、索引使用及SQL优化的实践

    1 MySQL的体系结构概述 整个MySQL Server由以下组成 :Connection Pool :连接池组件Management Services & Utilities :管理服务和 ...

  6. Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录

    Mysql最常用的三种备份工具分别是mysqldump.Xtrabackup(innobackupex工具).lvm-snapshot快照.前面分别介绍了:Mysql备份系列(1)--备份方案总结性梳 ...

  7. MySql避免全表扫描【转】

    原文地址:http://blog.163.com/ksm19870304@126/blog/static/37455233201251901943705/ 对查询进行优化,应尽量避免全表扫描,首先应考 ...

  8. Mysql避免全表扫描sql查询优化 .

    对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: ·   使用ANALYZE TABLE tbl_n ...

  9. MySql避免全表扫描

    对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_name为 ...

随机推荐

  1. Java IO(输入输出)

    1. System.out.System.in System 内部: public final static InputStream in = null; public final static Pr ...

  2. aoj 0118 Property Distribution

    タナカ氏が HW アールの果樹園を残して亡くなりました.果樹園は東西南北方向に H × W の区画に分けられ.区画ごとにリンゴ.カキ.ミカンが植えられています.タナカ氏はこんな遺言を残していました. ...

  3. MySQL当月汇总 及负毛利汇总_20161027

    #当月汇总 及负毛利汇总 SELECT e.ID,e.city AS 城市 ,f.当月销售总额,f.当月成本总额,f.当月毛利总额,f.当月优惠券总额,f.当月赠品总额,f.当月毛利总额-f.当月优惠 ...

  4. 「LOJ#10068」「一本通 3.1 练习 3」秘密的牛奶运输(次小生成树

    题目描述 Farmer John 要把他的牛奶运输到各个销售点.运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点. 运输的总距离越小,运输的成本也就越低.低成本的运输是 F ...

  5. mac下配置xampp的vhost

    1 先确定在httpd.conf文件(/Applications/XAMPP/xamppfiles/etc/httpd.conf)中,引入了vhosts.conf文件. 1.1 在httpd.conf ...

  6. thinkjs,promise

    thinkjs是奇舞团开源的一款NodejsMVC框架,该框架底层基于Promise来实现,很好的解决了Nodejs里异步回调的问题. 可参考: http://www.thinkjs.org/ htt ...

  7. Linux MySQL5.5的安装

    1.安装cmake [root@server1 src]# cd /opt/ipnms/src[root@server1 src]# tar zxvf cmake-2.8.4.tar.gz[root@ ...

  8. Azure一个Cloud Service支持多个公网地址

    Azure刚刚发布在同一个Cloud Service下支持多个公网IP地址的功能. 这个功能主要是用于: 当相同的端口需要公用相同的LoadBalance时. 比如: 一种使用场景是多组Web服务器被 ...

  9. POJ2349(求生成树中符合题意的边)

    Arctic Network Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14977   Accepted: 4777 D ...

  10. ssh无密码登录设置失败的 解决办法

    因为要安装hadoop所以需要设置ssh无密码登录,SSH的安装就不在这里介绍了: 我的系统是ubuntu15.10,开始按照网上很多的步骤去配置,最后发现登录时还要密码,登录多次也是这样的情况 最后 ...