字符:

char(10)->定长、10个字符宽度。如果右侧不够,则空格补齐,取出来的时候删除空格。

varchar(10)->变长、最多10个字符

如:存姓名的时候,没必要为了那几个长度去使用varchar,使用定长去存储会提高效率!

日期时间:

Year->1字节->95||1995->【1901-2155】

Date->日期->1998-12-31->【1000-01-01->9999-12-31】

Time->时间->13:56:23->->【-838:59:59->838:59:59】

datetime->时间戳->1970-01-01 00:00:00到当前的秒数

Tip:Date  Date  datetime在insert的时候需要加上引号 、实际开发中,一般不是用这些,直接使用787657676类似于这个样子的整形来存储(其实就是以1970年0点为准,然后换算成秒数存储)。搞iOS开发的肯定遇到过

not null:

1、NULL查询不便、索引效率不高、所以实用中避免列的值为NULL

2、声明列的值为NOT NULL,并且default一个默认值

主键与自增:

主键primary key此列不重复,就能够区分每一行!

一个表中只能有一个auto_increment,而且这一列必须加上primary key索引

修改列:

alter table tableName add 列名 类型 属性... ->默认在table的最后

alter table tableName add 列名 类型 属性 after 制定列名->将增加到制定的列名后面

alter table tableName drop column 列名

alter table tableName change 列名 新名字 类型 属性...

alter table tableName modify 列名 新属性...

change可以修改列名,但是modify不能修改列明,只能修改列的属性

视图(View):

create view vgoods as select goods_name , goods_id from goods;

view又被称为虚拟表,view是sql语句的一个查询结果。

好处:

1、权限控制时可以用;如:某几个列允许用户查询,其他列不可以。

create view tmpview as select goods_name from goods;

select * from tmpview;

2、简化复杂的查询;

3、修改物理表,虚拟表一定会被修改;如果物理表完全 一 一对应着虚拟表,则修改虚拟表会映射到物理表。但是,比如虚拟表是求平均之类的,不是一一对应的,则不能修改虚拟表,因为没法确认到物理表的具体的某一个位置。

查询view有两种可能:

1、将创建view的语句和查询view的语句合并,然后直接查物理表。这种方式叫做merge

2、如果view的形成就比较复杂了,那首先查询物理表,在内存中形成一个view,然后再查询这个view。

使用merge方式:create algorithm-merge view view1 as select ... from goods;

使用temptable:create algorithm-temptable view view2 as select ... from goods;

自己搞不定就让数据库自动决定!

表\视图管理语句:

查看所有表:show tables;

查看结构:desc table/view-name;

查看建表/视图过程:show create  table/view  table/view-name;

删除表/视图:drop table table/view-name;

查看表的详细信息:show table status;加上\G会竖着显示

改表名:rename table old-name to new-name;

清空表数据:truncate;

delete和truncate的区别:

delete  from table-name where id = 2;(id是auto_increment的),下次再插入一个数据的时候,id会直接从3开始,而不会从2开始,即使id=2的已经被删掉。

truncate table-name;相当于执行了两步,首先drop掉这个table。然后又重新建立一次!

所以...自己体会

存储引擎:

Myisam:单纯的存取而已,没有什么检查之类的!

InnoDB:存取都有检查,有自己的日志!

以上两者参考燕十八的比喻!

eg:create....( ... ) engine-InnoDB default charset-utf8;

字符集乱码问题:

文本本来的字符集与展示的字符集不一致就导致了乱码!

我要存的类型是gbk/utf8:set character_set_client = gbk/utf8;

我要取数据,请返回给我gbk/utf8类型的数据:set character_set_result = gbk/utf8;

连接器不要设置比较小的字符集,不然会损失掉数据,而且是不可逆的!

如果client、result、connect都设置为同一样字符集,比如utf8,那就可以直接简写为set names utf8;

乱码的话检查四个地方:php文件类型、php mate类型(meta charset='utf-8')、创建的table的类型、有没有执行set names utf8;

校对集就是一种排序规则。

索引:

作用:

1、索引就相当于数据的目录,能快速定位数据的位置。

2、索引是有代价的,它提高了查询的速度,但是损耗了增删改的效率。

3、一般在查询比较频繁的列上加索引,而且重复率低的的列上效果更好。比如:性别,只有男、女(shit,其他的不考虑),所有就没必要加上索引。

类型:

普通索引key、唯一索引unique key、主键索引primary key、全文索引(在中文环境下无效,一般用第三方的解决方案)

索引在所有的列设置完了之后设置!

设置索引

设置索引长度

多列索引

冗余索引:

就是在某个列上存在多个索引。

索引操作:

show index from table-name \G;

alter table table-name drop index index-name;/drop index index-name on table-name;  (删除索引)

alter table table-name add index unique index-name(line-name);(增加索引)

alter table table-name add primary key (line-name);(增加主键索引,不需要索引名)

alter table table-name drop primary key;(删除主键索引)

事务:(myisam不支持事务)

特性:隔离性、原子性、一致性、持久性(一旦commit之后,就没法rollback)。

start transaction;启用事务

commit;确认

rollback;回滚

我算是知道什么是事务什么事回滚了!!

d3 tip mysql_mysql相关推荐

  1. ajax散点图改变样式,使用D3.js实现的散点图可视化

    JavaScript 语言: JaveScriptBabelCoffeeScript 确定 // http://matthewgladney.com/blog/data-science/no-nons ...

  2. 403_交通数据综合分析实验

    1.数据准备 1.1在master节点创建实验文件夹,拷贝数据文件 1.1.1在zkpk家目录下创建实验文件夹taxifx,并进入实验文件夹taxifx [zkpk@master ~]$ mkdir ...

  3. D3 二维图表的绘制系列(二十六)盒须图

    上一篇: 中国地图 下一篇: 日历热力图 代码结构和初始化画布的Chart对象介绍,请先看 这里 本图完整的源码地址:这里 1 图表效果 2 数据 {"data": [{" ...

  4. D3基本图表绘制——折线图

    制作折线图分成4步走: 1.首先划定制图区域和范围--画一个边框 2.数据处理得到绘制折线图需要的数据--绘制折线需要一个数组整体 3.画出x,y轴和折线--y轴绘制需要注意 4.补充标签,调节位置 ...

  5. D3.js实现人物关系图谱有移动、拖拽、放大功能

    原文链接:https://www.jianshu.com/p/d768505cab78 在此基础上加了点东西 实现了关系图的移动.拖拽.放大功能.以及数据的分类等等.代码稍显繁琐,另外案例中的d3.j ...

  6. d3中文案例_D3js初探及数据可视化案例设计实战

    摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法.过程和结果,起抛砖引玉之效.在技术方案上,我们采用通用web架构和d3js作为主要技术手段:考虑到项目需求,这里所做的可视化 ...

  7. 使用D3.js构建实时图形

    首先你需要在计算机上安装Node和npm. 数据的可视化表示是传递复杂信息的最有效手段之一,D3.js提供了创建这些数据可视化的强大工具和灵活性. D3.js是一个JavaScript库,用于使用SV ...

  8. 使用d3.js创建关系图

    本实例是在网络搜索的结果下,自己改了些东西创建而成.实现了关系图的移动.拖拽.放大功能.以及数据的分类等等.代码稍显繁琐,如有建议可以评论区讨论.另外案例中的d3.js为3.5.17版本,请注意安装. ...

  9. D3 二维图表的绘制系列(八)曲线图

    上一篇: 堆叠面积图 https://blog.csdn.net/zjw_python/article/details/98214359 下一篇: 基础饼图 https://blog.csdn.net ...

最新文章

  1. linux 分析 ptrace
  2. android studio logcat 无筛选 显示全部日志 无应用包名区分
  3. linux时钟告警,Linux记录-告警脚本
  4. SQL Server死锁诊断--同一行数据在不同索引操作下引起的死锁
  5. linux 安装jdk gz文件,Linux 安装jdk gz 安装方式
  6. 超详细MFS网络分布式文件系统
  7. 如何自己写xuetr(一) 每次改变的驱动名和服务名
  8. cuSPARSE库:(十二)cusparseDestroyMatDescr()
  9. 总结之前有道笔记的内容--对于postdelay方法的讲解
  10. SQL Server中授予用户查看对象定义的权限
  11. JavaScript高性能开发的十条建议
  12. MATLAB——zeros
  13. 两个集合根据属性取差集_SQL高级知识——集合
  14. 计算机机考试卷分析,考试试卷分析与反思
  15. JavaScript 高级程序设计(第3版)
  16. 简述 mybatis 事务的使用
  17. RING BUFFER的常规用法
  18. 通过regsrv32.exe绕过Applocker应用程序白名单的多种方法
  19. Multi-Label Image Classification(多标签图像分类)
  20. java autoconf_「Autoconf」- 安装 @20210202

热门文章

  1. Redis windows学习(一)——redis安装和基础使用
  2. html5 支持php标签吗,HTML5新增标签使用方法
  3. 编译pjsip2.0 + SDL 1.3
  4. openpyxl 绘制饼形图_好享学丨快速上手Pythonmatplotlib 箱线图绘制,学术人必备
  5. ios13看怎么airpods电量_iPhoneXR查看airpods蓝牙耳机电量的三种方法
  6. java enum in class_Java 8需要一个转换,而Java 7没有 – enum.getClass/getDeclaringClass
  7. 八皇后问题python_python八皇后问题的解决方法
  8. 【转】vs平台工具集介绍,vc6~vs2019各IDE对应的工具集版本
  9. 截屏悬浮软件_功能强大,却小巧的录屏软件,不在错过你的王者时刻
  10. ios开发问题汇总(一)