D2-mysql基本使用

作者: 喝奶茶不加奶茶 | 来源:发表于2020-06-25 21:15 被阅读0次

    2.1 数据库操作

    • 进入mysql
    mysql -uroot -p
    

    输入密码即可


    • 查看Mysql版本(记得加括号)


    • 查看当前时间(记得加括号)


    • 查看当前使用的数据库(记得加括号)


    注意:只有这三个查看(版本/时间/当前使用的数据库)需要加括号。

    • 查看所有数据库


      show
    • 查看当前使用的数据库


      目前没有使用数据库所以为null
    • 创建数据库


      create
    在创建数据库的时候同时设置编码,注意utf8中间没有横杠
    • 查看数据库的创建信息


      show create
    • 删除数据库


      drop
    • 使用数据库


      use

      再次查看当前使用的数据库:


    错误记录
    在删除数据库时遇到错误:
    ERROR 1064 (42000): You have an error in your SQL
    解决办法:
    给数据库名加上反引号

    https://blog.csdn.net/YiJianCaoTang/article/details/89305039

    2.2 数据表的操作

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


      desc
    • 创建表
      auto_increment表示自动增长


    show create查看表的创建信息

    注意:和修改沾边的都需要用到‘alter’这个字段

    对字段的操作

    修改表-添加字段
    alter table students add pet varchar(20) default 'dog';


    add添加字段

    修改表-修改字段:重命名版
    alter table students modify pet varchar(20) default 'cat';


    alter..modify...修改字段,重命名版

    修改表-修改字段:不重命名版
    alter table students change pet chongwu varchar(20) ;


    alter...change修改字段,不重命名版

    修改表-删除字段


    alter...drop...

    删除表


    drop..table...

    删除指定数据库(test_02)下的指定表(students)

    drop table test_02.students;
    

    2.3 数据的操作

    curd:
    创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)
    增加/创建(create)
    --全列插入
    -- 向classes表中插入 一条记录

    insert into...values (...)
    -- 向students表插入 一个学生信息
    

    注意:

    • 主键字段可以用 0/null/default来占位;
    • 如果某个字段是自增的,可以不填值,填0或null或default来指定;
    • 对于枚举类型的字段,可以填相应的序号。
      补充:如何同时删除多个字段:
    alter table students drop weight, drop birthday;
    

    -- 部分插入
    -- insert into 表名(列1,...) values(值1,...)


    -- 多行插入(多行全列插入/多行部分插入)
    insert into students values(0,'赵六',18,186,'男',002),(0,'老七',18,186,'男',002);


    ** 修改(update)**
    update 表名 set 列1=值1,列2=值2... where 条件;
    -- 全部修改(不加where)
    update students set gender='男';


    不加条件的全部修改

    -- 按条件修改(加where)


    加条件的修改

    查询(select)
    -- 查询所有列
    -- select * from 表名;

    ---定条件查询


    加where定条件查询

    -- 查询指定列
    -- select 列1,列2,... from 表名;


    -- 可以使用as为列或表指定别名(但是原表并未修改)
    -- select 字段[as 别名] , 字段[as 别名] from 数据表 where ....;


    -- 字段的顺序


    删除(delete)
    -- 物理删除(无法恢复的删除)
    -- delete from 表名 where 条件

        -- 逻辑删除(并未真正删除,只是做了个标记)
        -- 用一个字段来表示 这条信息是否已经可以再使用
        -- 给students表添加一个 is_delete 字段 bit 类型,bit 正好可以表示0,1,并设置default为0
    

    那然后我们需要删除就是要改数据(update)了
    update students set is_delete=1 where id=3;

    数据库备份与恢复
    -- mysqldump –uroot –p 数据库名 > python.sql;
    -- mysql -uroot –p 新数据库名 < python.sql;
    这里是数据库的备份,大家知道怎么用就好了,不需要记忆

    在公司里面查询和插入的任务是10:1,大部分的任务都是要查询数据

    一个问题待解决:
    之前安装了mysql,但是点击client无法打开,但是输入命令可以打开,具体原因还没发现,目前先暂时搁置,继续往下走。


    经验教训:需要记录好自己的学习过程,一是为了及时复盘,二也是为了便于查看。

    重新下载mysql和workbench
    下载mysql时遇到问题:



    解决办法:
    一直下载的8.0版本,后来换了低版本的成功了。

    总结:

    • 学习要体系化,逻辑化,比如今天的学习路径:
      数据库的操作--数据表的操作--数据的操作(crud)
      不要碎片化,拒绝东一榔头,西一棒子。
    • 不仅要保证输入,也需要保证输出。继续奋斗!
    • 在终端进入某个具体目录的时候,需要先进入特定盘比如'e:',然后再‘cd+文件路径’。

    相关文章

      网友评论

        本文标题:D2-mysql基本使用

        本文链接:https://www.haomeiwen.com/subject/ftqsfktx.html