03-数据库和数据表的基本操作

时间:2022-02-07 14:11:24

数据库的相关操作

  • 查看当前所有的数据库

    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