linux-mysql基础学习

https://www.bilibili.com/video/av23973817?from=search&seid=7272171524920684948(视频出处)
linux上安装好mysql-server和client后

  • 登陆表命令
    1. mysql -uroot -p123456 (root是管理员名,123456是密码) 根据自己的用户名密码灵活变通;
    2. history 命令:可以查看历史纪录,并且找到输入者密码,使用这种当时删除记录 history -c 全部删除记录 或者使用 history -d2 (2是指,指定序列号,制定删除第几条记录),这个在终端使用;
    3. mysql -uroot -p 这种是验证密码进入数据库,比较安全;

use user 选择表

select * from mysql.user 		查询user表
select * from mysql.user\G 		有序排列
  1. use mysql 选择
    show tables; 可以查看很多表名 ‘user’就是在这里面

  2. 删除我们的空用户,和无效的用户
    select user,host from mysql.user;
    delete from mysql.user where user=’’;

  3. 把默认root用户删除,创建新的管理员用户
    两种方式
    第一种:创建+授权
    pass
    第二种:创建->授权
    create user ‘zzp’@‘localhost’ identified by ‘123456’;
    show databases;可以查看所有数据库名
    select user,host from mysql.user 可以查看添加进去的zzp管理员
    grant all on . to ‘zzpp’@‘localhost’;授权 第一个*表示数据库名称 第二个不知道 zzpp表示数据库用户名 localhost表示本地授权(可替换%表示全网授权)
    flush privileges;刷新
    create database zzpp;创建库

  • 增删改查
  • 使用sql语句—结构化查询语句
    - 常用的三类:
    1. DDL数据定义语言 create alter (修改) drop (删除)
    2. DCL数据控制语言 grant(授权) revoke (授权取回) commit(提交–mysql默认使用commit,oracle需要手动commit) rollback(撤销) ----------------运维常用的
    3. DML数据操作语言 select(查询) insert(增加)delete(删除) update(更新) ---->开发----专业
    4. DBA
  • 创建数据库:create database 库名;
  1. 表:create table 表名(里面的列) (必须先进入库内才能操作)
    eg: create table student(id int(4));
    查看表单: show tables;
    查看表内容:desc student;
    内容
    • 增加–insert into table values(对应的列1,对应的列2,…):
      删除 库、表
      Drop database/table 库名/表名
      drop不掉—>具备特殊字符的无法drop---->用delete

      Grant 授权
      revoke 撤销
    • Update----
      面试题---->忘记了管理员密码!!!—>修改(前提是没有退出数据库)
      (可以退出去修改,但是这是在知道密码的情况下修改的)
      mysql -uzzpp -p123456 password “hunhun” (没测试出来)
      如果忘记了呢!但这是个时候没有推出数据库:
      • update mysql.user set authentication_string=password(‘hunhun’) where user=‘zzpp’ and host=‘localhost’;(这里需要用个password()函数来加密密码,明文密码就算是修改了,也是不能登陆操作)
        刷新操作:flush privileges;
        登出,然后就可以尝试修改的在进入了;
        查–select
        select 内容 from 库,表

一个表一个表的查

  • Mysql 关系型数据库—>所有的数据 按照类型分开储存,并且可以连接
    学生表—课程表—选课表
    搜索---->索引!!!----目录,也是占据内存!!!
    1. 索引要在 列上创建
    2. 索引会加快查询速度,但是会影响更新速度
    3. 不是越多越好,要在频繁查询的where条件,作为索引列
    4. 小表过着唯一值少的列上不建索引 大表上或者唯一特别多的列(id)创建索引
    索引---->在创建表同时创建索引-----最常用的!
    建立表后 再去修改索引----很少用

      学生表---主键(值都是唯一的,而且每个表只有一个主键)-学号,姓名,性别,年龄,所在班
      Student(Sno,Sname,Ssex,Sage,Sdept)
      	(学号-主键,姓名,性别,年龄,所在班)
      	root@zpstu>create table student(
      		Sno int(10) not null comment '学号',
      		Sname varchar(16) not null comment '姓名',
      		Ssex char(2) not null comment '性别',
      		Sage tinyint(2) not null default '0' comment '年龄',
      		Sdept varchar(16) default null comment '班级',
      		primary key(Sno),
      		key index_Sname(Sname)
      		)AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
  • 尝试插入一条操作:insert into student values(0001, ‘小红’, ‘男’, 18, ‘python班’)
    课程表—主键-课程号,课程名,选课,学分
    create table Course(
    Sno int(10) not null comment ‘学号’,
    Sname varchar(16) not null comment ‘姓名’,
    Ssex char(2) not null comment ‘性别’,
    Sage tinyint(2) not null default ‘0’ comment ‘年龄’,
    Sdept varchar(16) default null comment ‘班级’,
    primary key(Sno),
    key index_Sname(Sname)
    )AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

    • 选课表—主键-学号,课程号,成绩
      create table SC(
      Sno int(10) not null comment ‘学号’,
      Sname varchar(16) not null comment ‘姓名’,
      Ssex char(2) not null comment ‘性别’,
      Sage tinyint(2) not null default ‘0’ comment ‘年龄’,
      Sdept varchar(16) default null comment ‘班级’,
      primary key(Sno),
      key index_Sname(Sname)
      )AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 连表查询:
    select student.Sno,student.Sname,Course.Cname,SC.Grade from student,Course,SC where student.Sno and Course.Con=SC.Cno;(加上order by Grade desc就是降序查询【把desc改成asc就成了升序了】)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值