数据库的相关操作
查看当前所有的数据库
show databases;
使用数据库
use 数据库名;
查看当前使用的数据库
select database();
创建数据库
create database 数据库名 charset=utf8; -- 例如:创建名称为python的数据库 create database python charset=utf8;
删除数据库
drop database 数据库名; -- 例如删除数据库python drop database python;
数据表的相关操作
查看当前数据库中所有的表
show tables;
查看表结构
desc 表名;
创建表
create table 表名(字段1 字段类型及约束,字段2 字段类型及约束.....);
- 例如:创建一张students表,表中有id,name,age,height,gender,cls_id字段
create table students( id int not null primary key auto_increment unsigned, name varchar(20) default '', age tinyint unsigned default 0, height decimal(5,2), gender enum('男','女','人妖','保密'), cls_id int unsigned default 0 );
- 上面表中的字段类型及约束的说明:
- primary key 表示主键,
- not null 表示该字段不允许填写空值
- auto_increment 表示该字段自动增长
- unsigned 无符号
- decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
- default 默认值
修改表-添加字段
alter table 表名 add 列名 类型及约束; --例如上面的Students表新增一个birthday的字段 alter table students add birthday datetime;
修改表-修改字段-字段重命名
alter table 表名 change 原名 新名 类型及约束; --例如我们将上面新增的字段birthday改为birt不能为空 alter table students change birthday birt datetime not null;
修改表-修改字段-字段不重命名
alter table 表名 modify 列名 类型及约束; --例如我们将birt字段的类型修改为date alter table students modify birt date not null;
修改表-删除字段
alter table 表名 drop 列名; --例如我们删除birt字段 alter table students birt;
删除表
drop table 表名; --例如删除students表 drop table students;
查看表的创建语句
show create table 表名; -- 例如查看students表的建表语句 show create table students;
备份与恢复
备份:运行mysqldump命令(退出mysql的链接)
mysqldump -u root -p 数据库名 > xxx.sql
恢复:先链接mysql,创建数据库,退出连接,执行如下命令:
mysql -u root -p 数据库名 < xxx.sql