【数据库】MySQL数据库(二)
一、数据库文件的导出
1.在DOS命令行下导出数据库(带数据)
mysqldump -u root -p 数据库名 > E:\wamp\www\lamp175\lamp175.sql
2.在DOS命令行下导出数据表(带数据)
mysqldump -u root -p 数据库名 数据表名 > E:\wamp\www\lamp175\lamp175_stu.sql
3.在DOS命令行下导出数据库(不带数据)
mysqldump -u root -p -d 数据库名 > E:\wamp\www\lamp175\lamp175.sql
4.在DOS命令行下导出数据表(不带数据)
mysqldump -u root -p -d 数据库名 数据表名 > E:\wamp\www\lamp175\lamp175_stu.sql
二、数据库文件的导入
1.在DOS命令行下导入数据库文件
mysql -u root -p 数据库名 < E:\wamp\www\lamp175\lamp175.sql
2.在MySQL命令行下导入数据库文件(必须在指定的库当中)
source E:\wamp\www\lamp175\lesson24_MySQL02\lamp175.sql
三、数据库密码的添加:
1.在DOS命令行下
mysqladmin -u root -p password 新密码
注意:
新密码处不要加双引号、分号,否则可能出现问题
2.在MySQL命令行下
set password for 'root'@'localhost' = password('新密码');
四、密码改错的找回方法:
1.先关闭数据库服务(任务栏右击,打开任务管理器,找到mysqld.exe)
2.打开一个DOS命令框,将路径跳转到 E:\wamp\bin\mysql\mysql5.7.9\bin 目录下
3.输入命令 mysqld --skip-grant-tables ,光标会一直在下方闪烁
4.再打开一个DOS命令框,输入 mysql 直接以root权限进入数据库服务系统
5.进入mysql库,查看user表,再修改root用户的 authentication_string 的值
6.update user set authentication_string=password('123456') where User='root';
7.flush privileges; 修改完成之后,使用该命令刷新几次
8.重启mysql服务,进入DOS命令框,登陆修改之后的密码即可
五、wamp服务器崩溃,要进行数据备份:
1.data目录:
2.www目录:
六、建表(MySQL当中的数据类型):
当我们存储不同的数据时,需要配合不同的类型来进行存储
1.php当中的数据类型:
布尔型、整型、浮点型、字符串型、数组型、对象型、资源型、空型
2.MySQL当中的数据类型:
整型、浮点型、定点型、字符串型、日期时间型、集合型、枚举型
1> 整型
tinyint: 短整型(常用)
smallint: 小整型
mediumint: 中整型
int: 整型(常用)
bigint: 长整型
这些数据类型,其实都是存储整数的,只是占用长度不同,存储范围不同
注意:
1.在定义整型数据时,不需要指定长度,它会采用默认的长度来存储
2.如果要是定义长度,该长度是为后续的一个约束条件准备的
3.在插入整数类型的值的时候,注意不要越界,否则会报错
4.我们使用整数类型时,选用合适的存储范围即可
2>浮点型:
float(M,D): 单精度
double(M,D): 双精度
decimal(M,D): 定点数
3.14 3.1415926
使用浮点型数据的时候,肯定会指定一下精度和标度
注意:
1.单精度、双精度唯一的区别就是长度和存储范围
2.精度:整数位和小数位的长度和
3.标度:小数位的长度就是标度
4.当我们想要存储一些需要准确精确表达的数据时,不要使用单、双精度
5.我们推荐使用定点数进行存储
3> 字符串型:
char: 定长字符串(常用)
varchar: 变长字符串(常用)
tinytext: 短文本
text: 文本(常用)
mediumtext:中文本
longtext: 长文本
字符串型的最大的区别在于他们的存储范围
注意:
1.char定长字符串,可以不指定长度,默认长度为1;如果指定长度,
则该长度就为固定长度了!
2.varchar变长字符串,必须指定长度,存储到varchar中的数据,会
根据数据的长度,自动调整存储范围,但是不能越界!
3.超出长度的,会报错
4.char和varchar除了上述的区别外,就是存储范围的不同了
5.当我们存储内容比较长的长文本时,例如小说、文章等内容,可以使用
text长文本格式进行存储!
4> 日期时间型:
这个日期时间型,我们了解一下即可,存储时间我们推荐使用整型,因为
时间戳就是一个整型值
5> 枚举型:
多选一
enum("dabolang","xiaobolang","meibolang","lang");
注意:
1.枚举类型的数据,必须使用双引号将每一个值括起来,每个值使用
逗号隔开
2.枚举型的值,只能多选1
6> 集合型:
多选多
set("dabolang","xiaobolang","meibolang","lang");
注意:
1.集合型的数据和枚举型的数据定义方式一样
2.区别在于,枚举型只能多选一,集合型可以多选多!
3.字段的约束条件
1.给整型准备的约束条件
1> unsigned :无符号
注意:
1.当我们给整型的字段加上无符号余数条件之后,该字段的存储
范围会发生改变(具体范围参考word文档)
2.unsigned无符号修饰符必须加在我们所定义的字段类型之后
2> zerofill :前导零
注意:
1.整型当中所定义的长度,其实是给前导零准备的
2.当我们给某个整型的字段添加了前导零的约束条件之后,它自动
给我们添加了一个unsigned约束条件,说明,我们如果使用前导零
则不能添加负数值
2.通用的约束条件
1> not null :不能为空
注意:
1.改关键字所修饰的字段不能为空
2.如果你非得让它为空,那么你只能通过给定默认值解决此问题
3.not null的顺序不限,但是不能放到unsigned之前
2> default :默认值
注意:
1.当我们给某个字段添加默认值时,该字段为何类型,则默认值也
是该类型
2.默认值一般放到最后
3> auto_increment :自增
注意:
1.自增通常是给表中的ID准备的约束条件
2.每一个表都会有一个id字段
3.如果我们要给id字段添加自增关键字,则必须要给该字段一个
索引修饰,该索引修饰可以是 primary key(主键索引)或者是
unique(唯一索引)
4.具有自增条件的字段,每次自增1
5.一个表中只能有一个自增字段