MySQL命令行脚本

MySQL命令行脚本

命令行连接
  • 打开终端,运行命令 mysql -uroot -p 回车后输入密码
  • 退出登录 quit 和 exit 或Ctrl+d
  • 查看版本: select version();
  • 显示当前时间: select now();
数据库:
  • 查看所有数据库 show databases;
  • 使用数据库 use 数据库名;
  • 查看当前使用的数据库 select database();
  • 创建数据库 create database 数据库名 charset=utf8;
  • 查看创建数据库 show create database 数据库名;
  • 删除数据库 drop database 数据库名;
数据表:
  • 查看当前数据库中所有表 show tables;

  • 查看表结构 desc 表名;

  • 创建表 create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);

    • auto_increment表示自动增长
    • not null 表示不能为空
    • primary key 表示主键
    • default 默认值
  • 例:创建班级表

    create table classes(
    id int unsigned auto_increment primary key not null,
    name varchar(10)
    );
    

    创建学生表

    create table students(
    id int unsigned primary key auto_increment not null,
    name varchar(20) default '',
    age tinyint unsigned default 0,
    height decimal(5,2),
    gender enum('男','女','保密'),
    cls_id int unsigned default 0
    );
    

在这里插入图片描述

  • 修改表-添加字段 alter table 表名 add 列名 类型;
  • 修改表-修改字段:重命名版 alter table 表名 change 原名 新名 类型及约束;
  • 修改表-修改字段:不重命名版 alter table 表名 modify 列名 类型及约束;
  • 修改表-删除字段 alter table 表名 drop 列名;
  • 删除表 drop table 表名;
  • 查看表的创建语句 show create table 表名;
查询:
  • 查询所有列 select * from 表名;

  • 查询指定列 select 列1,列2,… from 表名;

  • 可以使用as为列或表指定别名

    select 字段[as 别名], 字段[as 别名] from 数据表 where 条件

增加:
  • 主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
  • 全列插入:值的顺序与表中字段的顺序对应 insert into 表名 values(…)
  • 部分列插入:值的顺序与给出的列顺序对应 insert into 表名(列1,…) values(值1,…)
  • 全列多行插入:值的顺序与给出的列顺序对应 insert into 表名 values(…),(…)…; insert into 表名(列1,…) values(值1,…),(值1,…)…;
修改:
  • update 表名 set1=1,2=2... where 条件
    
删除:
  • delete from 表名 where 条件
    
  • 逻辑删除,本质是修改操作 update students set is_delete=1 where id=1;

  • 添加逻辑删除字段 alter table 表名 add is_delete bit default 0;

备份:
  • 运行mysqldump命令 mysqldump –uroot –p 数据库名 > python.sql; # 按提示输入mysql的密码
恢复:
  • 连接mysql,创建新的数据库
  • 退出连接,执行如下命令 mysql -uroot –p 新数据库名 < python.sql # 根据提示输入mysql密码

猜你喜欢

转载自blog.csdn.net/weixin_41792682/article/details/89740409