mysql命令行基本操作

命令行连接

  • 在终端连接
mysql -uroot -p
# 回车后输入密码
  • 退出数据库
exit/quit/ctrl+d

修改输入提示符

prompt python>
  • 查询命令
select version(); # 查看版本
select now(); # 显示当前时间

数据库

  • 查看所有数据库
show databases;
  • 使用数据库
use 数据库名;
例:
use python;
  • 查看当前数据库
select database();
  • 创建数据库
create database 数据库名 charset=utf8;
例:
create database python charset=utf8;
  • 查看创建数据库的语句
show create databases 数据库名;
例:
show create database python;
  • 删除数据库
drop database 数据库名;
例:
drop database python;

数据表

  • 查看当前数据库中所有的表
show tables;
  • 查看表结构
desc 数据表名;
例:
desc students;
  • 创建表
    1. auto_increment表示自动增长
    2. not null 表示不能为空
    3. primary 表示主键
    4. default 默认值
create table 数据表名 (字段 类型 约束, 字段 类型 约束...);
CREATE TABLE table_name(
    column1 datatype contrai,
    column2 datatype,
    column2 datatype,
    ......
    columnN datatype,
    PRIMARY KEY(one or more columns)
);

例:创建classes表
create table classes(
    id int unsigend auto_increment primary key not null,
    name varchar(10)
);

例:创建students表
create table students(
        id int unsigned not null auto_increment primary key,
        # varchar类型补不全空位
        name varchar(30),
        # xxx unsigned类型不包含负数
        age tinyint unsigned default 0,
        # decimal类型(总位数,小数位数)
        high decimal(5,2),
        # 枚举类型下标从1开始
        gender enum("男", "女", "中性", "保密") default "保密",
        cls_id int unsigned
    );
  • 查看表的创建语句
show create table 数据表名;
例:
show create table students;
show create table classes;
  • 修改表-添加字段
alter table 表名 add 列名 类型;
例:
alter table students add birthday datatime;
  • 修改表-修改字段:重命名版
alter table 表名 change 原名 新名 类型及约束;
-- 修改字段顺序
-- alter table 表名 change 原名 新名 类型及约束 after 字段;
例:
alter table students change birthday birth datetime not null;
  • 修改表-修改字段:不重命名版
alter table 表名 modify 列名 类型及约束;
例:
alter table students modify birth date not null default "1991-01-01";
  • 修改表-删除字段
alter table 表名 drop 列名;
例:
alter table students drop birth;
  • 删除表
drop table 表名;
例:
drop table classes;

增删改查(curd)

  1. Create
  2. update
  3. Retrieve
  4. Delete

查询基本使用

  • 查询所有列,指定条件
select * from 表名;
select * from 表名 where 条件;
例:
select * from students;
select * from students where id>1;
  • 查询指定列,可用as为列或表指定别名,指定条件
select1,列2,...from 表名;
select1,列2,...from 表名 where 条件;
例:
select id,name, from cstudents;
select id as "编号", name as "姓名", from students;
select id, name as "姓名", from students where gender=2;

增加

  • 全列插入:值的顺序与表中字段的顺序对应
insert into 表名 value(...)
例:
insert in students value(0,'Gg',1,'武汉','2018-03-04');
  • 部分列插入:值的顺序与给出的列顺序对应
insert into 表名(列1,...) value(值1,...);
例:
insert into students(id,name,hometown,birthday) value(0,'Gg','武汉','2018-03-04');
  • 全列多行插入:值的顺序与给出的列顺序对应
insert into 表名 value(...),(...)...;
例:
insert into classes value(0,'python1',(0,'python2'));
insert into 表名(列1,...) value(值1,...),(值1,...)...;
insert into students(name) value('杨康'),('杨过'),('小龙女');

修改

update 表名 set1=值1, 列2=值2... where 条件;
例:
update students set gender=0,hometown='北京' where id=5;

删除

  • 物理删除,无法找回数据,慎用
delete from 表名 where 条件;
例:
delete from students where id=5;
  • 逻辑删除,本质就是修改操作,添加字段表示不能再使用
# bit只占1位
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=1;

备份

  • 运行MySQLdump命令
mysqldump -uroot -p 数据库名 > python.sql
# 提示输入mysql的密码

恢复

  • 连接,创建新的数据库
  • 退出连接,执行如下操作
mysql -uroot -p 新数据库名 < python.sql
# 提示输入mysql的密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值