MySQL中需要注意的几点

几个常用的命令:

  select  database(); #查看当前所在的数据库。

  select  user();#查看当前登录的用户

  show global variables like "%datadir%";#查看数据库的物理存放位置

  show  create table  表名;#可以查看建立的索引的表结构

可能会遗漏的知识点:

  在innodb存储引擎中,在一个表中必须有一个主键,当没有指定某一个字段为主键时,innodb会选择第一个不为空且唯一的字段作为主键。

  外键是innodb存储引擎所特有的特性,其他搜索引擎没有该特性,其实外键说白了就是Python中的组合。

  create table 表2 select 所需字段 from 表1;#拷贝表1结构+记录到表2中

  create table 表2 select 所需字段 from 表1 where 1=2;#只拷贝表1的结构到表2

  如何判断表的三种关系:

    首先先站在一个表的角度,思考该表的多个记录对象是否可以对应要连接表的一个对象,即是否是多----->一;其次,再站在另一个表的角度思考,是否该表的多个对象是否对应另一张表的一个对象,即是否多对一。若两次的多对一都成立,则两表的关系就是多对多。

    根据上面的两次比较,如果只有一个成立,则是一对多的关系。

    如果分别站在两张表思考后发现,只能是一张表的一个对象对应另一个表的一个对象,则是一对一的关系。(潜在用户表------->报名学员表)

  设置为主键后的字段会默认自带不为空,且唯一的约束条件。

  两种字符类型;

    char(数值):定长的字符串格式,字符的长度为0-255(一个汉字也为一个字符,使用utf-8编码时占用三个字节),对于所存入的字符的长度若小于char指定的数值,则会对存入的字符进行填充,使之达到char指定的数值长度。虽然浪费空间,但是存取的效率很高。

    varchar(数值):不定长的字符串格式,即存入的是多长的字符就会实际存入多长的字符,但是在这里需要注意一点,对于此种不定长的字符格式,需要一个字符来说明存入的字符的长度,最后存入的格式为: 数据长度说明字符+ 实际字符数据。虽然这种格式节省空间,但是存取的效率很低,建议少用。

posted on 2017-12-15 20:55  云烟||成雨  阅读(272)  评论(0编辑  收藏  举报