mysql中少用但必须掌握的命令以及一些细节知识

数据表修改

  • 添加列 add
alter table 表名 
add 列名 类型 其他要求
after 列名(加在这个列之后);
  • 修改列 modify
alter table 表名
modify 列名 类型 其他要求;
  • 删除列 drop
alter table 表名
drop 列名;
  • 更改表名
rename table 旧表名 to 新表名;
  • 更改表的字符集
alter table 表名 character set 字符集;
  • 更改列名
alter table 表名 
change 旧列名 新列名 类型 其他要求;

迁移数据表内的数据

insert into 新表
(新列名1, 新列名2, 新列名3)
select 旧列名1, 旧列名2, 旧列名3 from 旧表;

注意:对应列的数据类型要相同,列名无所谓

扩展:自我复制

insert into 表1
select * from 表1;

备份

备份命令和恢复命令可以说是工作上必须掌握的两个命令了,但自己平时练习项目很少用到

备份整个数据库

mysqldump -u 用户名 -p 密码(可以没有) -B 数据库1 数据库2 ... > (绝对路径)文件名.sql

备份某个数据库的数据表

mysqldump -u 用户名 -p 密码(可以没有) 数据库名 数据表1 数据表2 ... > (绝对路径)文件名.sql

注:备份命令一定要在DOS命令行执行!

恢复

source (绝对路径)文件名.sql

注:恢复命令要在mysql命令行里执行

一些注意点(后期会不断总结更新)

  1. char(6),这里的6是指6个字符,不是6个字节,char可以容纳0~255个字符
    varchar(6),这里的6也是指6个字符,varchar可以容纳0~65535个字节(其中有3个字节用于记录长度),具体可以容纳多少字符要看用的是什么编码(常见的utf8是3字节一个字符,GBK是2字节一个字符);
  2. count(*)表示返回满足条件的记录个数,count(列名)表示返回满足条件的某列的记录个数,会排除值为null的记录;
  3. where筛选表内存在的数据,having筛选查询后生成的临时数据;
  4. DUAL是亚元表,可用于测试;

热门相关:无量真仙   薄先生,情不由己   刺客之王   寂静王冠   霸皇纪