sql,输入密码即可.
3、更多备份及还原命令
备份:
1.备份全部数据库的数据和结构
mysqldump-uroot-p123456-A>F:
\all.sql
2.备份全部数据库的结构(加—d参数)
mysqldump—uroot—p123456-A—d〉F:
\all_struct。
sql
3.备份全部数据库的数据(加-t参数)
mysqldump-uroot-p123456—A—t>F:
\all_data。
sql
4.备份单个数据库的数据和结构(,数据库名mydb)
mysqldump—uroot—p123456mydb〉F:
\mydb。
sql
5。
备份单个数据库的结构
mysqldump—uroot—p123456mydb—d>F:
\mydb。
sql
6.备份单个数据库的数据
mysqldump-uroot—p123456mydb—t〉F:
\mydb。
sql
7。
备份多个表的数据和结构(数据,结构的单独备份方法与上同)
mysqldump—uroot—p123456mydbt1t2>f:
\multables。
sql
8.一次备份多个数据库
mysqldump—uroot—p123456—-databasesdb1db2〉f:
\muldbs。
sql
还原:
还原部分分
(1)mysql命令行source方法和
(2)系统命令行方法
1.还原全部数据库:
(1)mysql命令行:
mysql>sourcef:
\all。
sql
(2)系统命令行:
mysql-uroot-p123456〈f:
\all。
sql
2。
还原单个数据库(需指定数据库)
(1)mysql〉usemydb
mysql>sourcef:
\mydb。
sql
(2)mysql—uroot—p123456mydb〈f:
\mydb。
sql
3.还原单个数据库的多个表(需指定数据库)
(1)mysql>usemydb
mysql>sourcef:
\multables.sql
(2)mysql—uroot-p123456mydb〈f:
\multables.sql
4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
(1)mysql命令行:
mysql〉sourcef:
\muldbs。
sql
(2)系统命令行:
mysql—uroot—p123456〈f:
\muldbs。
sql
更多备份
更多备份知识:
(二)数据表的创建
1。
1、显示数据表
showtables;
1。
2、创建数据表
createtable表名(
列名类型是否可以为空,
列名类型是否可以为空
)ENGINE=InnoDBDEFAULTCHARSET=utf8
是否可空,null表示空,非字符串
notnull—不可空
null-可空
设置是否为空
默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
createtabletb1(
nidintnotnulldefalut2,
numintnotnull
)
设置默认值
自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)
createtabletb1(
nidintnotnullauto_incrementprimarykey,
numintnull
)
或
createtabletb1(
nidintnotnullauto_increment,
numintnull,
index(nid)
)
注意:
1、对于自增列,必须是索引(含主键)。
2、对于自增可以设置步长和起始值
showsessionvariableslike’auto_inc%’;
setsessionauto_increment_increment=2;
setsessionauto_increment_offset=10;
shwoglobalvariableslike'auto_inc%';
setglobalauto_increment_increment=2;
setglobalauto_increment_offset=10;
设置自增
主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一.
createtabletb1(
nidintnotnullauto_incrementprimarykey,
numintnull
)
或
createtabletb1(
nidintnotnull,
numintnotnull,
primarykey(nid,num)
)
设置主键
外键,一个特殊的索引,只能是指定内容
creattablecolor(
nidintnotnullprimarykey,
namechar(16)notnull
)
createtablefruit(
nidintnotnullprimarykey,
smtchar(32)null,
color_idintnotnull,
constraintfk_ccforeignkey(color_id)referencescolor(nid)
)
设置外键
主键与外键关系(非常重要)
http:
//blogs。
com/programmer—tlh/p/5782451。
html
1。
3删除表
droptable表名
1.4、清空表
deletefrom表名
truncatetable表名
1。
5、基本数据类型
MySQL的数据类型大致分为:
数值、时间和字符串
bit[(M)]
二进制位(101001),m表示二进制位的长度(1-64),默认m=1
tinyint[(m)][unsigned][zerofill]
小整数,数据类型用于保存一些范围的整数数值范围:
有符号:
-128~127.
无符号:
0~255
特别的:
MySQL中无布尔值,使用tinyint
(1)构造.
int[(m)][unsigned][zerofill]
整数,数据类型用于保存一些范围的整数数值范围:
有符号:
-2147483648~2147483647
无符号:
0~4294967295
特别的:
整数类型中的m仅用于显示,对存储范围无限制。
例如:
int(5),当插入数据2时,select时数据显示为:
00002
bigint[(m)][unsigned][zerofill]
大整数,数据类型用于保存一些范围的整数数值范围:
有符号:
—9223372036854775808~9223372036854775807
无符号:
0~184********709551615
decimal[(m[,d])][unsigned][zerofill]
准确的小数值,m是数字总个数(负号不算),d是小数点后个数.m最大值为65,d最大值为30。
特别的:
对于精确数值计算时需要用此类型
decaimal能够存储精确值的原因在于其内部按照字符串存储。
FLOAT[(M,D)][UNSIGNED][ZEROFILL]
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
无符号:
-3.402823466E+38to—1。
175494351E—38,
0
1.175494351E-38to3.402823466E+38
有符号:
0
1.175494351E—38to3.402823466E+38
****数值越大,越不准确****
DOUBLE[(M,D)][UNSIGNED][ZEROFILL]
双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
无符号:
—1。
7976931348623157E+308to—2.2250738585072014E-308
0
2。
2250738585072014E—308to1.7976931348623157E+308
有符号:
0
2。
2250738585072014E—308to1.7976931348623157E+308
****数值越大,越不准确****
char(m)
char数据类型用于表示固定长度的字符串,可以包含最多达255个字符。
其中m代表字符串的长度。
PS:
即使数据小于m长度,也会占用m长度
varchar(m)
varchars数据类型用于变长的字符串,可以包含最多达255个字符。
其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
注:
虽然varchar使用起来较为灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。
因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡
text
text数据类型用于保存变长的大字符串,可以组多到65535(2**16−1)个字符.
mediumtext
ATEXTcolumnwithamaximumlengthof16,777,215(2**24−1)characters.
longtext
ATEXTcolumnwithamaximumlengthof4,294,967,295or4GB(2**32−1)characters.
enum
枚举类型,
AnENUMcolumncanhaveamaximumof65,535distinctelements.(Thepracticallimitislessthan3000。
)
示例:
CREATETABLEshirts(
nameVARCHAR(40),
sizeENUM(’x—small’,'small’,'medium',’large’,'x-large')
);
INSERTINTOshirts(name,size)VALUES(’dressshirt’,’large'),(’t—shirt','medium'),(’poloshirt’,'small');
set
集合类型
ASETcolumncanhaveamaximumof64distinctmembers.
示例:
CREATETABLEmyset(colSET(’a',’b','c',’d'));
INSERTINTOmyset(col)VALUES(’a,d'),(’d,a’),('a,d,a’),('a,d,d’),(’d,a,d');
DATE
YYYY-MM—DD(1000—01-01/9999—12-31)
TIME
HH:
MM:
SS(’—838:
59:
59'/’838:
59:
59’)
YEAR
YYYY(1901/2155)
DATETIME
YYYY—MM-DDHH:
MM:
SS(1000—01-0100:
00:
00/9999-12-3123:
59:
59Y)
TIMESTAMP
YYYYMMDDHHMMSS(1970—01-0100:
00:
00/2037年某时)
1。
6、修改表(alter)
添加列:
altertable表名add列名类型
删除列:
altertable表名dropcolumn列名
修改列:
altertable表名modifycolumn列名类型;-—类型
altertable表名change原列名新列名类型;--列名,类型
添加主键:
altertable表名addprimarykey(列名);
删除主键:
altertable表名dropprimarykey;
altertable表名modify列名int,dropprimarykey;
添加外键:
altertable从表addconstraint外键名称(形如:
FK_从表_主表)foreignkey从表(外键字段)references主表(主键字段);
删除外键:
altertable表名dropforeignkey外键名称
修改默认值:
ALTERTABLEtestalter_tblALTERiSETDEFAULT1000;
删除默认值:
ALTERTABLEtestalter_tblALTERiDROPDEFAULT;
修改表
更多参考:
∙http: