数据库的相关操作
-
查看当前所有的数据库
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