MySQL常见数据库、表以及数据操作的命令

一、数据库操作

  • 创建数据库

    create database 数据库名 charset=utf8;
  • 删除数据库

    drop database 数据库名;
  • 切换数据库

    use 数据库名;
  • 查看当前选择的数据库

    select database();

     

二、表操作

  • 查看当前数据库中所有表

    show tables;
  • 创建表

    create table 表名(列及类型);

    例如:

    CREATE TABLE ih_user_profile (
        up_user_id bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
        up_name varchar(32) NOT NULL COMMENT '昵称',
        up_mobile char(11) NOT NULL COMMENT '手机号',
        up_passwd varchar(64) NOT NULL COMMENT '密码',
        up_real_name varchar(32) NULL COMMENT '真实姓名',
        up_id_card varchar(20) NULL COMMENT '身份证号',
        up_avatar varchar(128) NULL COMMENT '用户头像',
        up_admin tinyint NOT NULL DEFAULT '0' COMMENT '是否是管理员,0-不是,1-是',
        up_utime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
        up_ctime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
        PRIMARY KEY (up_user_id),
        UNIQUE (up_name),
        UNIQUE (up_mobile)
    ) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT='用户信息表';
  • 修改表的结构

    alter table 表名 add|change|modify|drop ...;
    • 增加字段

      alter table 表名 add 字段名 类型;
    • 修改字段名称

      alter table 表名 change 原字段名 新字段名 类型;
    • 修改字段类型

      alter table 表名 modify 字段名 新类型;
    • 删除字段

      alter table 表名 drop 字段名;
  • 删除表

    drop table 表名;
  • 查看表结构

    desc 表名;
  • 更改表名称

    rename table 原表名 to 新表名;
  • 查看表的创建语句

    show create table 表名;

     

三、数据操作

  • 查询

    select * from 表名
  • 增加

    全列插入:insert into 表名 values(0,...);
    缺省插入:insert into 表名(列1,...) values(值1,...);
    全列插入多条数据:insert into 表名 values(0,...),(0,...)...;
    缺省插入多条数据:insert into 表名(列1,...) values(值1,...),(值1,...)...;

   主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后自动会以实际数据为准

  • 修改

    update 表名 set 列1=值1,... where 条件;
  • 删除

    delete from 表名 where 条件
  • 逻辑删除(本质就是修改操作update)

    # 通常会增加一个字段isdelete,默认为0
    alter table students add isdelete bit default 0;
    # 如果需要删除则修改isdelete=1
    update students set isdelete=1 where ...;

     


posted @ 2020-12-28 00:50  eliwang  阅读(193)  评论(0编辑  收藏  举报