第一天:

关于安装出现了很多问题,各种不懂的bug,没得法只能在网上查找解决方法,终于!!!

登录成功了,一下午的时间

附上参考资料:https://blog.csdn.net/weibo_boer/article/details/65449032

进去若提示要修改密码,可输入:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

则会提示:Query OK, 0 rows affected (0.04 sec),显示修改成功!

一、用户管理                                                                                                                                                                  

  1、创建用户:

        create  user  ‘用户名’@‘IP地址’  identified  by  ‘密码’;

  2、删除用户:

        drop  user  ‘用户名’@‘IP地址’;

  3、修改用户:

        rename  user  ‘用户名’@‘IP地址’  to  ‘新用户名’@‘IP地址’;

  4、修改密码:

        ALTER  USER  ‘用户名’@‘IP地址’  IDENTIFIED  BY  '新密码';
二、用户授权管理                                                                                                                                                       

  1、查看权限:

        show  grants  for  ‘用户名’@‘IP地址’ ;

  2、授权:

        grant   权限  on  数据库.表  to       ‘用户名’@‘IP地址’ ;

  3、取消授权:

        revoke 权限  on  数据库.表  from  ‘用户名’@‘IP地址’ ;

三、学习SQL语句规则                                                                                                                                               

  1、数据类型:

      数字:tinyint、int、bigint、FLOAT、DOUBLE、decimal  #  最常用的为decimal(不算符号情况下的数字总个数,小数点后位数)

      字符串:char(10)、varchar(10)、text  #  char中若不满10个字符,则尾端自动添加,varchar中10为最大允许的字符串的长度,尾端不自动添加

      时间类型:YEAR(年)、DATE(年-月-日)、TIME(时:分:秒)、DATETIME(年-月-日  时:分:秒)、TIMESTAMP(年月日  时分秒)  #DATETIME最常用

      其他:ENUM、SET  #  枚举enum中,只能选择一个值(字符类型),集合set中可以多个值组成一个集合

  2、操作文件夹:

        show databases;              #  显示所有文件夹

        create  database  db1  default  charset  utf8;  #  创建名为db1的文件夹,default  charset  utf8 表示编码方式

        drop  database db1;              #  删除名为db1的文件夹

  3、操作表:

        (1)显示某文件夹下所有表格:show  tables

        (2)创建表:                                               

            create  table  t1(

              列名   类型   null / not null  # null 表示该类允许为空

              id  int  auto_increment    primary  key,

              name  char(10),

              teacher  int,

              constraint  fk_student_teacher_id  foreign  key(teacher)  references  teacher(id)  #添加外键

           )engine=innodb  default  charset=utf-8;    #  创建名为t1的表,编码方式为utf8

            #   auto_increment    表示自增(用时需加上 primary  key)

              #  show  session  variables  like  ‘auto_incre%’; # 查看局部变量,global则是查看全局变量

              #  set  session  auto_increment_increment=2; # 设置局部会话步长,使用 global 则是设置全局会话步长

            #   primary  key          表示:约束(不能重复也不能为空);加速查找

            #   innodb                 支持事务,原子性操作(举例:一方在转账的时候若网络出现故障使服务器断开,另一方未收到转账,则金额返还给原主)

        (2)清空表

            delete  from  t1;   或     truncate  table  t1;  #二者的区别在于,如果使用了自增auto_increment ,则前者清空后,新增的序列号会紧接着之前的,而后者清空则序列号重新开始

        (3)删除表:drop  table  t1;

        (4)插入数据:insert  into  表(列名,列名...) values(值,值...);

                 insert  into  表(列名,列名...) values(值1,值1),(值2,值2);

                 insert  into  表(列名,列名...)select  name,age  from  表1;

        (5)删除数据:delete  from  表;

                 delete  from  表  where  id = 1 and name = ‘alex’;

        (6)更新数据:update  表  set  name = ‘alex’,age=19  where  id = 1;

        (7)查找数据:select  *  from  t1;

                 select  id, name ,11  from  t1;

                 select  *  from  t1  where  id  in(1,2,5);  # 或者  not in

                 select  *  from  t1  where  id  between 5 and 10; 

                 select  *  from  t1  where  id  in(select  id  from  t2);

                 select  id,name  as  cname  from  t1 where  id > 10 or  name  =‘xxx’;

        (8)其他:

            a、通配符:

                 select  *  from  t1  where  name  like  ‘a%’;

                 select  *  from  t1  where  name  like  ‘a_’;

            b、限制:

                 select  *  from  t1  limit  10;

                 select  *  from  t1  limit  10,20;  #从11行开始读,往后读取20行

                 select  *  from  t1  limit  20  offset  10;  #同上

            c、排序:

               select  *  from  t1  order  by  列名  desc;#  按照列名从大到小

               select  *  from  t1  order  by  列名  asc;  #  按照列名从小到大

               select  *  from  t1  order  by  列名1  desc,列名2  asc; #  先根据列名1排序,若出现相同的序号,则将按照列名2的排序方式

            d、分组:select  max(id),count(name),count(email),name  as  cname  from  userinfo  where  id>2  group  by  name,email  having  max(id)>2  order  by  max(id)  desc;

                 #  自带有count、sum、max、min、avg方法,拓展:另有一种使用方法来统计id数:select  count(id)from  userinfo;

                 #  特别的,书写顺序为:where、group、having、order  by ,且对于聚合函数结果进行二次筛选时,必须使用 having

            e、连表:select  host_id  from  userhost,host  where  userhost.id = host.id;

                  select  host_id  from  userhost  left  join  host  on  userhost.id = host.id;  

                  #  效果同第一条,且 left (right) 表示左(右)边表全部显示,若用 inner 表示含有NULL行不显示。

                  select  score.sid,score.student_id  from  score

                    left join student on score.student_id=student.sid

                   left join course on score.course_id=course.cid

                    left join class on student.class_id=class.cid        

                    left join teacher on course.teacher_id=teacher.tid;

            f、组合:

                1、自动处理重合:select tid,tname from teacher union select sid,sname from student;

                2、不会处理重合:select tid,tname from teacher union  all  select tid,tname form teacher;

          

            g、其他:

                1、条件判断:case  when  条件  then 输出1,else  输出2  end;  例:sum(case when num>60 then 1 else 0 end)/ count(1)*100 as 及格率;

                2、对于NULL取舍:if(isnull(num),0,num)          例:select student_id,avg(if(isnull(num),0,num)) from score,student;

 

            h、练习题链接:http://www.cnblogs.com/wupeiqi/p/5748496.html

学习MySQL过程中的随笔一的更多相关文章

  1. 学习MySQL过程中的随笔二

    MySQL深入学习:     视图 使用视图的目的:多次使用同一张临时表(或者已经存在的表) 视图只是一个虚拟表,其本质为[根据SQL语句获取动态的数据集,并为其命名],用户只需使用别名即可获得实时的 ...

  2. 学习Mysql过程中拓展的其他技术栈:Docker入门介绍

    一.Docker的介绍和安装 1. Docker是什么 百度百科的介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...

  3. 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机

    一.设置linux虚拟机的固定ip 1. 安装好虚拟机后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  4. 关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)

    关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)   作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position ...

  5. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  6. html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)

    html/css  盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width     是"宽 ...

  7. Python使用Mysql过程中一些错误

    Python使用Mysql过程中一些错误 ssh登录远程服务器 ssh ubuntu@xxx.xxx.xx.xx 第一:ubuntu终端中登录Mysql mysql -uroot -p 然后输入密码即 ...

  8. 深度学习训练过程中的学习率衰减策略及pytorch实现

    学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...

  9. 各种报错各种坑 webpack让我在学习的过程中一度想要放弃

    由于拓展部分不是必须的,只是可以增强用户体验,但是有些时候页面给分页预留的位置不够,这个时候我们就可以通过设置来除去这一部分 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定, ...

随机推荐

  1. 第四章:Oracle12c 数据库在linux环境安装

    一:搭建yum 仓库 对于新手可以参考此文:<Vmware Workstation _linux yum 仓库搭建>.<CentOS7.2 创建本地YUM源和局域网YUM源> ...

  2. 三十分钟学会 Less

    每一门技术的出现都是为了解决现存的问题,同样的,Less 的出现是为了解决 CSS 中过于呆板的写法.Less 官方文档 中对 Less 的使用有详细的介绍,总结一下为:Less = 变量 + 混合 ...

  3. Django web框架

    urls的配置 views视图函数 tempalte模板 settings的配置 Django目录结构分析 Django主线 Django-model基础 Django-model聚合查询与分组查询 ...

  4. Visual Studio 2013 突然不高亮,编译报错

    同事的电脑,估计是windows更新失败的原因,C盘容量减小到不到1G,VS的高亮也坏了,重启后硬盘容量增加了但是仍然不高亮. 解决办法记录一下: 重置下. 开始菜单 -->所有程序--> ...

  5. kubenetes 环境的塔建

    最近听我朋友说他们公司准备上云,全线把服务迁到 k8s 上面,一下感觉,我们就 lower 了不少,之前服务器一直跑的就是 docker ,想想弄到 k8s 应该还是没有啥,于是我们也开始改造了 参考 ...

  6. 在XPS13 上安装Ubuntu 16.04

    1 准备系统安装U盘 使用常见的光盘工具软件ultraISO. (1)首先使用UltraISO打开Ubuntu-16.04.4-desktop-amd64.iso安装映像. (2)在菜单栏中,选择&q ...

  7. python数据类型——数据转换

    数据类型有很多种,比如数值和字符,比如6和a,字符是需要加双引号的,下面的例子运行的结果是不一样的,数值会相加而字符会相连 print(6+6)print("6"+"6& ...

  8. servlet(二):Servlet的web.xml配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  9. 图书管理系统 (c语言实现) (全部代码)

    直接上代码不解释 #include <stdio.h> #include <stdlib.h> #include <string.h> #define AVAILA ...

  10. 20172328 暑假作业 之 实现安卓小程序Enjoy-all

    20172328 暑假作业 之 实现安卓小程序Enjoy-all 项目介绍 项目名称: Enjoy - all 项目简介: 本项目基于Java语言和Anroid Studio软件,实现了简单的冒泡.屏 ...