d9ea77a0e0a1dcdbb3c3075122348c46.png

MySQL创建的数据库以文件夹的形式存放在初始化时的设置data目录下,本文讲解如何优雅地使用SQL命令操作数据库和数据表.

一、数据库操作

1.连接 MySQL 服务器

mysql -uroot -p123456
mysql 数据库默认有四个库
(information_schema、mysql、performance_schema、sys)

2.创建数据库

CREATE DATABASE 库名;

#查看数据库
show databases;

3.指定数据库

若要操作数据库中的表则需要先使用USE db_name 命令指定当前使用的库; 没有默认使用哪个库,可以登录MySQL后手动指定;
如果想每次登录数据库就可以使用某个库,可以在登录的时候指定库
#例如登录MySQL 指定使用mysql库
mysql -uroot -p123456  mysql


#指定使用mysql库
USE mysql;

#查看当前使用的库
SELECT database();	

#查看当前库存在的表
SHOW tables;

4.删库

#数据无价,谨慎操作!
DROP DATABASE 库名;

#查看数据库
show databases;

5.重命名数据库

数据库是没有重命名的SQL命令!
但是可以通过其它方式达到目的,比如备份...

思路1):

通过重命名表的操作,将某个库中的所有表一个个地重命名 到 新库中

#具体步骤如下
#创建数据库
CREATE DATABASE 新库;

#重命名表操作
RENAME TABLE 旧库.table1 TO 新库.table1,
旧库.table2 TO 新库.table2;

#所有表重命名后删除原库
DROP DATABASE 旧库;

如果表很多,重复地执行重命名表操作,那将很繁琐,通常使用脚本来自动执行。

思路2):

利用 [mysqldump] 备份工具导出指定数据库,再导入到新建的某个库中(细品)。

mysqldump工具是MySQL官方的一款数据备份工具,因为是单线程执行,所以在表非常非常多的情况下,导出过程会有点慢

二、表操作

表的每一行(row)称为记录(Record),记录是逻辑意义上的数据;
表的每一列(column)称为字段(field),同一个表中字段名不能相同

1.创建表

创建表前需使用USE 命令指定前使用哪个数据库,才可以在指定库中创建表

#示例!语句中#号后面的内容为注释
create table  student(
    id int auto_increment primary key, #id自增长,并设为主键
    name char(10) not null,     #name 为字符,且不能为空
    age tinyint unsigned default 0); #无符号的最小整型,且默认值为0

2.检查表是否创建成功

#查看当前库存在的表
show tables;

3.查看表结构 (desc)

#describe 查看表结构
desc 表名;
或
show columns from <表名>;

4.修改表名 (rename)

① rename table 旧表 to 新表;
② alter table 旧表 rename 新表;

#查看表
show tables;

5.删除数据表

#好了,玩乱了吧,该删除了...
# (1) drop 永久删除表,删除表全部数据和表结构,立刻释放磁盘空间
drop  table  <表名>;

# (2) truncate 删除表全部数据,保留表结构,立刻释放磁盘空间
truncate table <表名>;
    
# (3) delete 可以配合where 条件删除某行或整个表
delete from <表名>;

#delete 操作一行行删除数据,所以碰到表的数据量很大时,删除过程会很慢。

#删除数据后立刻释放磁盘空间 
optimize table <表名>;

最后邀你进群一起学习
关注公众号 技能锦囊
后台回复 SQL

http://weixin.qq.com/r/TRy9pSTE6HmXrWDG90lf (二维码自动识别)

by ~

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐