MySQL服务器中的 【数据库】 以文件夹的形式存放在data目录下,本章讲解如何优雅地使用SQL命令操作数据库和数据表。
mysql -uroot -p
mysql数据库类型有四个库 (information_schema,mysql,performance_schema,sys)
CREATE DATABASE 库名;
#查看数据库
show databases;
若要操作数据库中的表或数据则需要先指定使用哪个库;
#指定使用mysql库
USE mysql;
如果想连接上数据库就可以使用某个库,可以在登录的时候指定库
#例如登录MySQL服务器 指定使用mysql库
mysql -uroot -p mysql
#查看当前使用的库
SELECT database();
#查看当前库存在的表
SHOW tables;
#数据无价,谨慎操作!
DROP DATABASE 库名;
#查看数据库
show databases;
MySQL 5.7 没有重命名库的SQL命令! 但是可以通过其他方式达到目的,例如备份...
通过重命名表的操作,将某个库中的所有表一个个地重命名到新库中
#具体步骤如下
#创建数据库
CREATE DATABASE 新库;
#重命名表操作
RENAME TABLE
旧库.table1 TO 新库.table1,
旧库.table2 TO 新库.table2;
#所有表重命名后删除原库
DROP DATABASE 旧库;
如果表很多,重复地执行重命名表操作,那将很繁琐,通常使用脚本来自动执行。
利用 mysqldump备份工具 备份某个数据库,再导入到新库中(细品~)。
mysqldump工具是MySQL官方的一种数据备份工具,安装完mysql服务器的同时也装上了此工具。
表的每一行(row)称为记录(Record),记录是逻辑意义上的数据;
表的每一列(column)称为分段(field),同一个表中列名不能相同
创建表前需使用USE命令指定前使用该数据库,才可以在指定库中创建表
#号后面的内容为注释
create table student(
id int auto_increment primary key, #自增长,并设为主键
name char(10) not null, #10个字符长度,且不能为空
age tinyint unsigned default 0 #无符号的最小整型,且默认值为0
)engine=innodb default charset utf8;
#查看当前库存在的表
show tables;
#describe 查看表结构
desc 表名;
或
show columns from <表名>;
① rename table 旧表 to 新表;
② alter table 旧表 rename 新表;
#查看表
show tables;
#好了,玩乱了吧,该删除了...
# (1) drop 永久删除表,删除表全部数据和表结构,立刻释放磁盘空间
drop table 表名;
# (2) truncate 删除表全部数据,保留表结构,立刻释放磁盘空间
truncate table 表名;
# (3) delete 可以配合where 条件删除某行或整个表
delete from 表名;
#delete 操作一行行删除数据,所以碰到表的数据量很大时,删除过程会很慢。
#删除表后立刻释放磁盘空间
optimize table 表名;
by~