十一 08

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方即-128到127,无符号从 0 到 255 的整型数据。

tinyint[(M)] [UNSIGNED] [ZEROFILL]   M默认为4
很小的整数,存储大小为 1 字节。带符号的范围是-2^7 (-128) 到 2^7 – 1 (-128到127)。无符号的范围是0到255。

smallint[(M)] [UNSIGNED] [ZEROFILL]  M默认为6
小的整数,存储大小为 2 字节。带符号的范围是从 -2^15 (-32,768) 到 2^15 – 1(-32768到32767)。无符号的范围是0到65535。

mediumint[(M)] [UNSIGNED] [ZEROFILL] M默认为9
中等大小的整数,存储大小为 3 字节。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

int[(M)] [UNSIGNED] [ZEROFILL]       M默认为11
普通大小的整数,存储大小为 4 字节。带符号的范围是从 -2^31 (-2,147,483,648) 到 2^31 – 1 (-2147483648到2147483647)。无符号的范围是0到4294967295。

bigint[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数,存储大小为 8 字节。带符号的范围是-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (-9223372036854775808到9223372036854775807)。无符号的范围是0到18446744073709551615。

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

十一 01

mysql查询两表差集

mysql查询两表差集,mysql查询两表按某字段对比的差集数据,mysql查询两数据表的不同数据

a 表数据

b 表数据

对比a表的cc字段和b表的ee字段 Continue reading

13

MYSQL查询A表中不存在于B表中的所有符合条件的数据

在开发过程中,总有一些需求是需要查看在A表中ID不存在于B表中的ID的情况:

下面有三种方法可以实现这一需求:

第一种:使用Not in 方法通过子查询的结果集来做过滤:

这种情况最常见也是最容易理解的逻辑SQL代码,但是会有很多问题出现。 Continue reading

02

如何开启MySQL数据库的InnoDB模式

MySQL主流引擎是MyISAM模式,这种模式方便使用和维护,Innodb为后来加入的另外一种模式,这种模式支持的功能更强大,是未来发展趋势。
又有个小项目,本地开发(也是框架需要)使用的InnoDB引擎,但当项目开发得差不多了,需要实测上到客户主机后,发现没有InnoDB引擎,说实话,还是头一回碰到没有InnoDB引擎的情况,客户使用的是护卫神服务器管理系统,安装环境可能是套件,没有细了解,那么如何开启MySQL数据库的InnoDB模式呢?下面是我在网上找的。 Continue reading

14

mysql数据库主键和外键的相关知识

一、什么是主键、外键:

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
比如
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键

成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键

同理 成绩表中的课程号是课程表的外键 Continue reading

14

mysql索引类型(normal、unique、full textl)及索引方法(BTree、Hash)的概念与使用场景

mysql索引类型

mysql索引类型normal,unique,full text的区别是什么?

normal:表示普通索引

unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique

full textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

总结,索引的类别由建立索引的字段内容特性来决定,通常normal最常见。 Continue reading

09

MySQL命令行操作

登录mysql:
mysql -u 用户名 -p
Enter password: 输入mysql密码

通过CMD进入没有设置环境变量的MYSQL
先进入到MYDQL安装目录下的./bin文件夹,之后输入
./mysql.exe -h localhost -u root -p

./mysql.exe -u root -p
回车
Enter password: 输入mysql密码

显示所有数据库列表:
mysql> show databases;

显示所有数据表列表:
mysql> show tables;

选择进入某数据库:
use mysql;

显示数据表的结构:
describe 表名;

建库:
create database 库名;

建表:
use 库名;
create table 表名 (字段设定列表);

删库和删表:
drop database 库名;
drop table 表名;

将表中记录清空:
delete from 表名;

显示表中的记录:
select * from 表名

修改表名:
ALTER TABLE admin_user RENAME TO a_user

命令行导入数据库.sql文件:
mysql> use dbname;
mysql> source /root/databack.sql
或:
mysql -u 数据库用户名 -p 数据库名 < 预导入的文件名.sql (最后没有分号)
mysql -u abc -p dbname < databack.sql

命令行导出数据库.sql文件:
mysqldump -u 数据库用户名 -p 目标数据库 > 存储的文件名
mysqldump -u root -p dbname >abc.sql
然后回车输入密码即可

命令行导出多个数据库:
mysqldump -u root -p –add-drop-database –databases dbName1 dbName2… > sqlFilePath
–add-drop-database : 该选项表示在创建数据库的时候先执行删除数据库操作
–database : 该选项后面跟着要导出的多个数据库,以空格分隔

命令行导出某个数据库的某个表:
mysqldump -u root -p dbName tableName > sqlFilePath

命令行只导出数据库结构,不带数据:
mysqldump -u root -p -d dbName > sqlFilePath
-d : 只备份结构,不备份数据。也可以使用”–no-data”代替”-d”,效果一样。

ALTER TABLE admin_user RENAMETO a_user

09

windows CMD命令行备份MySQL数据库

备份数据库

TIM20180209195654

1、cmd进入mysql安装目录下的bin文件夹;

2、输入命令:

3、然后输入数据数据库密码。

4、备份完成。

恢复(还原)数据库

1、将要导入的.sql文件移至mysql安装目录下的bin文件下,这样的路径比较方便(当然如果不这么做的话,使用绝对路径)
2、CMD进入mysql安装目录下的bin文件夹
3、进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码)
4、在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
或输入:
4-1、CREATE DATABASE 数据库名;
4-2、 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码’;
4-3、 SET PASSWORD FOR
‘数据库名’@'localhost’ = OLD_PASSWORD(‘密码’);
依次执行3个命令完成数据库创建。注意:中文 “密码”和“数据库名”是户自己需要设置的。
5、输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql;

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。