zoukankan      html  css  js  c++  java
  • MySQL入门

    MySQL入门

    1、MySQL的基本介绍

        数据库(database),数据库是存储数据的仓库,本质是一个系统文件,我们可以对这个文件(数据库)数据进行增删改查操作(crud)。

        数据是直接存在数据库中还是数据表中?存在数据表中。

        数据表结构及原理:

            数据表:由行和列组成。

                列:字段

                行:记录

    2、MySQL数据库的安装与卸载

        安装:

            在网上可以找到安装教程,按着安装就行,安装之前必须保证之前没有安装过mysql或已经卸载干净了。

        卸载:

            注意:如果MySQL卸载不干净,会导致再次安装的不成功。

            1、首先找到控制面板,就程序给卸载

            2、找到mysql的安装目录将其删除,

            3、再去c盘将C:ProgramData目录下的MySQL文件夹给删除,

            4、删除mysql的注册表,快捷键window+R搜索regedit进入注册表         

                路径1:HKEY_LOCAL_MACHINESYSTEMControlSet001serviceseventlogApplicationMySQL

                路径2:HKEY_LOCAL_MACHINESYSTEMControlSet002serviceseventlogApplicationMySQL

                删除整个MySQL文件夹即可

          SQLYog(图形化界面)

    3、数据库的基本操作

        1、通过dos直接访问MySQL

            使用基本到dos命令登录系统 : mysql -hIP地址 -u用户名 -p密码

                例如:mysql -hlocalhost  -uroot  -proot

                  如果是本地登录,可以省略掉-h,  如 :mysql -u用户名  -p密码

        2、mysql服务的开启与关闭命令

            通过视图找到MySQL的服务

              我的电脑--右键管理--服务与应用--服务--MySQL。

            如果通过命令方式开启和关闭服务:

              关闭服务:net stop mysql

              开启服务:net start mysql.

    3、SQL语言及分类

        sql:结构化查询语言。可以用它来对数据进行增删改查(crud)

        分为四大类:

            DDL(Data Definition Language)数据库定义语言,用来定义数据库对象:数据库,表,列等,关键字:create,alter,drop等,结构上的操作

            DML(Data Manipulation Language)数据库操纵语言,用来对表中的数据的增删改,关键字:insert、delete、update等,数据上的操作

            DQL数据查询语言:关键字:select、from、where等 结构不会发生变化,数据也不会变化,就是单纯的去查询。

            DCL数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户(了解)。

     

      sql通用语法

         sql语句可以单行或多行书写,以分号结尾。

         可使用空格和缩进来增强语句的可读性。

         MySQL数据库的sql语句不区分大小写,关键字建议使用大写

              例如:SELECT * FROM user.

         同样可以使用/**/的方式完成多行注释

        mysql中的数据类型:

          int   整型

          double  浮点型

          varchar(长度)  字符串型

          date  日期类型

      DDL-操作数据库结构

          创建数据库  

      

    命令

    说明

    create database 数据库名;

    在当前服务器下创建指定名称的数据库。

    配置数据库时我们指定了utf8,那么数据库默认字符集就是utf8

    create database 数据库名 character set 字符集;

    在当前服务器下创建指定名称的数据库,并且指定数据库的字符集(很少使用)

        

        代码准备:

          #创建数据库day01_1 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8

          #创建数据库day01_2 并指定数据库中数据的编码为gbk

        查看数据库

           use  数据库名       :切换数据库

          show  databases;     查看MySQL服务器中有哪些数据库

        删除数据库

          

    命令

    说明

    drop database 数据库名称;

    MySQL服务器中永久删除某个数据库

     DDL-操作数据表结构

    格式

        create table 表名 (字段1 类型  【约束】)

        注意:多个字段之间要用逗号隔开   

        查看表

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

          desc 表名    :查看某张数据表的表结构

        删除表:

          drop  table  表名   :从当前数据库中永久的删除某张表

        修改表结构格式:(了解)

        

    命令

    说明

    alter table 表名 关键字….

    修改某张表的某些字段

         

    一般修改表结构最多进行字段的添加操作

        l alter table 表名 add 列名 类型(长度) [约束];

        作用:修改表添加列.

          例如:

        #1,为分类表添加一个新的字段为 分类描述 cdesc varchar(20)

          ALTER TABLE category ADD cdesc VARCHAR(20);

        l alter table 表名 modify 列名 类型(长度) 约束;

        作用:修改表修改列的类型长度及约束.

            例如:

         #2, 为分类表的描述字段进行修改,类型varchar(50)

          ALTER TABLE category MODIFY cdesc VARCHAR(50);

     

        alter table 表名 change 旧列名 新列名 类型(长度) 约束;

          作用:修改表修改列名.

          例如:

        #3, 为分类表的分类名称字段进行更换 更换为 description varchar(30)

        ALTER TABLE category CHANGE cdesc description VARCHAR(30);

     

        alter table 表名 drop 列名;

        作用:修改表删除列.

        例如:

          #4, 删除分类表中description这列

          ALTER TABLE category DROP description;

     

          rename table 表名 to 新表名;

          用:修改表名

          例如:

          #5, 为分类表category 改名成 category2

           RENAME TABLE category TO category2;

     

           alter table 表名 character set 字符集(了解);

          作用:修改表的字符集

          例如:

          #6, 为分类表 category 的编码表进行修改,修改成 gbk

            ALTER TABLE category CHARACTER SET gbk;

     DML-更新表记录(增删改)

        插入表记录:insert into

        注意:

          值于字段必须对应,个数相同,类型相同

          值的数据大小必须在字段的长度范围内

          除了数值类型,其它的值必须要使用单引号、双引号引起

          如果要插入空值,可以忽略不写字段,或者插入null。

    更改表记录:update

        

    删除表记录:delete from

    delete from 和truncate的区别:

        1、delete from:删除表中所有记录,但是不删除表

        2、truncate:将整张表删除,然后重新创建一个一模一样的表结构

    DQL-查询数据(重点)

    ----查询并展示表中所有记录

        select * from 表名

    ---查询并展示表中符合要求的记录

        select * from 表名 where 条件

     条件查询--where

    比较运算符

    >  <  <=   >=   =  <> !=

    大于、小于、大于(小于)等于、不等于

    BETWEEN  ...AND...

    显示在某一区间的值

    相当于     price >=1000  && price <=2000

    IN(set)

    显示在in列表中的值

    bookName  in (“西游记”,”红楼梦”)

    LIKE ‘张pattern’

    模糊查询,Like语句中,

    % 代表零个或多个任意字符

    _ 代表一个字符

    IS NULL

    判断是否为空

    逻辑运算符

    and

    多个条件同时成立

    or

    多个条件任一成立

    not

    不成立,取反。

    单表操作

       排序:

        order by 字段(需要放置在select语句的最后)  asc/desc   默认是升序

        两种  

          升序:asc

          降序:desc

    聚合函数

        聚合函数会忽略null空值

        今天我们学习如下五个聚合函数:

            count(字段):统计指定列不为NULL的记录行数;、

            sum(字段):计算指定列的数值和

            max(字段):计算指定列的最大值

            min(字段):计算指定列的最小值

            avg(字段):计算指定列的平均值

    分组函数

    格式 :

        select 字段1,字段2. from 表名 group by 分组字段

        select 字段1,字段2. from 表名 group by 分组字段 Having 分组条件;

        分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件

        where 和having的区别:

            1、where是在分组前进行过滤,having是在分组后进行过滤

            2、聚合函数可以跟在having后面,聚合函数不可以跟在where后面。

    select总结

    书写顺序(重点):

        select 字段 from 表名 where 条件 group by 字段 having条件 order by 字段

        

      执行顺序:(了解)

    1. From 表名
    2. Where  条件
    3. Group by 字段   字段值相同的数据会划分成一组
    4. Having 条件     对每一组分别进行一次运算
    5. Select 字段      把每组中第一条数据取出来。合并成一张新伪表展示这个新伪表上的部分字段

       6.   order by 字段    对新伪表进行最后排序

  • 相关阅读:
    IP分片与TCP分片的考虑
    snort-2.9.16在ubuntu16.04环境下的安装,配置与运行
    snort 程序流程图
    宿主机、容器、真实时间不一致问题
    ffi动态链接库的使用
    docker容器中nginx日志的分割
    dockerFile指令详解
    关于如何查看多网卡物理机中网卡序号与物理网卡的对应该关系
    Curl相关参数意义及使用方式
    docker 基础入门
  • 原文地址:https://www.cnblogs.com/anlin981121/p/11360174.html
Copyright © 2011-2022 走看看