回到javaweb的第五天(三)(三大范式以及数据库备份)(多表查询)

 两两之间都要去看是不是有联系,才能把多个表的关联给设计起来的

如果有n张表  那么你需要查看的联系的数量是:

 n!/2

 

 

 如果从别的地方复制了很多sql语句 发现执行不了的话

那么自己:拆分它,因为它的格式排版可能在复制的时候出错了,一点点拆分来使用就可以了。

 

 

对于设计数据库而言,遵循3NF已经是很好的数据库了。

 1 2 3NF我都会了

 

 删除了毕业的学生,也不会影响到系名。

 

 要进到mysql里面,在写sql语句的时候 才有分号不分号这种说法的

在使用什么mysqldump之类的,不写分号的。

 这里说的是数据库里面,source XXX 意思是:  使用哪些sql语句来进行还原,使用哪里的语句来 进行还原。

无论是database层面还是说table层面,其实它的关键词是不怎么变化的,你也会发现,就是drop这些,都比较通用。

当然,数据库层面的话,就是use不加database关键字 其他都加的。

数据库编码问题解决:

MySQL问题记录——Incorrect string value: '……' for column '……' at row X

那么就肯定是编码问题,先去命令行查看这个数据库的编码

show create database db1;

alter database db1 character set utf8;

alter table user character set utf8;

对于表而言,还可以写成是:

alter table user convert to character set utf8;

表示对这个表进行改变它的编码的含义。

但是改变数据库的编码还未必能改变其中每个表的编码

所以说还是需要改变到具体某个表的编码去才对、

编码问题,首先考虑的是数据库的编码是不是出现问题,而不是复制的源编码是否有问题。

 sqlyog的话,那么下面有写显示的。

多表查询的目的:消除没有用的数据。

 

 

 以后写数据库,很多时候都是一个字段写成一行,方便加注释

然后的话关键字也要单独写一行。

因为的话 from where select这个是顺序呀!

所以说from后面先放了别名,在where和select后面就可以使用它们了。

 

 

 

 

 

 

嵌套的子查询都一定要用括号括起来。

子查询作为条件,如果是单行单列的查询结果,那么子查询可以作为这个 运算符的其中一个元素。

 

猜你喜欢

转载自www.cnblogs.com/startFrom0/p/12706929.html