• 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回车(可无分号结束)password回车

    注意:该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)在当前MySQLclient改动输入和输出的MySQL环境变量为GBK或GB2312,注意,该种方式仅仅在当前窗体中有效

    b)改动MySQL文件夹下的my.ini文件,将client的缺省编码方式改为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表中查出对应记录。

  • 相关阅读:
    [css]浮动造成的影响
    [py]django的manytomany字段和后台搜索过滤功能
    [py][lc]python高阶函数(匿名/map/reduce/sorted)
    [py][lc]python的纸牌知识点
    [js]js中类的继承
    [js]js杂项陆续补充中...
    [js]js设计模式小结
    WP10的一点小问题
    JS 判断滚动底部并加载更多效果。。。。。。。。。
    This assembly may have been downloaded from the Web. ......
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4295933.html
Copyright © 2020-2023  润新知