MySQL基本操作

来源:互联网 发布:js confirm简写 编辑:程序博客网 时间:2024/06/06 14:25

MySQL基本操作


命令行连接

  • 启动MySQL服务:
    mysql>net start mysql (管理员权限下)

  • 关闭MySQL服务:
    net stop mysql (管理员权限下)

  • 退出登录:
    quit和exit(Linux下用Ctrl+d快捷键,Windows下用Ctrl+c)

  • 进入MySQL命令行后:
    1.查看版本—>select version();
    2. 显示当前时间—>select now();

    修改输入提示符:
    prompt python>
    \D 完整日期
    \d 数据库名称
    \u 使用用户
    \U 完整日期
    \h 主机名称

    prompt基本操作


数据库操作

  • 查看所有数据库:
    show database;

  • 使用数据库:
    use 数据库名;

  • 查看当前使用的数据库:
    select database();

  • 创建数据库:
    create database 数据库名 charset=utf8;
    例如:create database python charset=utf8;

  • 删除数据库:
    drop database 数据库名;
    例如:drop database python;

数据表操作

数据表基本操作

  • 查看当前数据库中所有表: show tables;

  • 查看表结构: desc 表名;

  • 创建表:

create table table_name(    column1 datatype contrai,    column2 datatype,    column3 datatype,    . . . . .    columnN datatype,    primary key(one or more columns));

auto_increment表示自动增长

修改表

  • 添加字段:
    alter table 表名 add 列名 类型;
    例如:alter table students add birthday datetime;

  • 修改字段-重命名版:
    alter table 表名 change 原名 新名 类型及约束;
    例如:alter table students change birthday birth datetime not null;

  • 修改字段-不重命名版:
    alter table 表名 modify 列名 类型及约束;
    例如:alter table students modify birth date not null;

  • 删除字段:
    alter table 表名 drop 列名;
    例如:alter table students drop birthday;

  • 删除表:
    drop table 表名;
    例如:drop table students;

  • 查看表的创建语句:
    show create table 表名;
    例如:show create table classes;


增删改查(curd)

查询基本操作

  • 查询所有列
    select * from 表名;
    例如:select * from classes;

  • 查询指定列
    可以使用as为列或表指定别名:select 列1,列2,… from 表名;
    例:select id,name from classes;

增加

  • 格式1
    insert [into] tb_name [(col_name,….)] {values|value} ({expr|default},…),(…),….标准插入,支持批量

  • 格式2
    insert [into] tb_name set col_name={expr|default},……此方法可以使用到后面要讲的查询,一次只能插入一条数据

  • 格式3
    insert [into] tb_name [(col_name),…] select … 此方法可以将查询的结果插入到指定表,支持批量

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

全列插入:值的顺序与表中字段的顺序对应

insert into 表名 values(…)
例:insert into students values(0,’郭靖‘,1,’蒙古’,’2016-1-2’);

部分列插入:值的顺序与给出的列顺序对应

insert into 表名(列1,…) values(值1,…)
例:insert into students(name,hometown,birthday) values(‘黄蓉’,’桃花岛’,’2008-3-2’);

上面的语句一次可以向表中插入一行数据,还可以一次性插入多行数据,这样可以减少与数据库的通信

全列多行插入:值的顺序与给出的列顺序对应

insert into 表名 values(…),(…)…;
例:insert into classes values(0,’python1’),(0,’python2’);

insert into 表名(列1,…) values(值1,…),(值1,…)…;
例:insert into students(name) values(‘杨康’),(‘杨过’),(‘小龙女’);

修改

  • 格式
    格式:update tb_name set col1={expr1|default} [,col2={expr2|default}]…[where条件判断]

    update 表名 set 列1=值1,列2=值2… where 条件
    例:update students set gender=0,hometown=’古墓’ where id=5;

删除

  • 格式
    delete from tb_name [where 条件判断]
    delete from 表名 where 条件
    例:delete from students where id=5;

逻辑删除,本质就是修改操作

update students set is_delete = 1 where id=1;

备份

  • 运行mysqldump命令:
    mysqldump –uroot –p 数据库名 > python.sql
    按照提示输入mysql的密码

恢复

  1. 连接mysql,创建新的数据库

  2. 退出连接,执行如下命令

    museysql –uroot –p 新的数据库名 < python.sql

    根据提示输入mysql密码

备份和恢复操作在Windows下要配置环境变量

原创粉丝点击