MySQL

1.什么是SQL?

    Structured Query Language:结构化查询语言

    其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。

2.SQL通用语句:

   1.SQL语句可以单行或多行,以分号结尾。

   2.可使用空格来增强语句的可读性。

   3.MySQL 数据库的SQL语句不区分大小写。

   4.3种注释

    *单行:-- 注释内容或# 注释内容(MySQL特有)

    *多行:/*  */

3.SQL分类:

  DDL:操作数据库,表。

    1.操作数据库:CRUD

      *C(Create):创建

        创建数据库:create database if not exists 数据库名;

        创建数据库,指定字符集**create database if not exists 数据库名 character set 字符集名;

      *R(Retrieve):查询

        查询所有:** show databases;

        查询某个:** show create database 数据库名称;

      *U(Update):修改

        修改数据库字符集:** alter database 数据库名称 character set 字符集名称

      *D(Delete):删除

        删除数据库:** drop database 数据库名称;

      *使用数据库

        查询当前数据库:select databaseO();

        使用数据库:** use 数据库名称;

    2.操作表:

      *C(Create):创建

         create  table 表名P(

            列名1 数据类型1,

            列名2 数据类型2,

            ...

            列名n 数据类型n;

            );

         数据库类型:

            1.int:整数类型   

            1.double:小数类型

            3.date:日期,包含年月日,yyyy-mm-dd

            4.datetime:日期,包含年月日时分秒,yyyy-mm-dd   HH:mm:ss    

            5.timestamp:时间戳类型   包含年月日时分秒 (如果不赋值,则默认为当前的系统时间自动赋值)

            6.varchar :字符串类型

         创建一个表:

          create table student(

              id int,

              name varchar(32),

              age int,

              score double(4,1),      

              birthday date,

              insert_time timestamp

  );

      *R(Retrieve):查询

         查询所有表:show tables;

         查询表结构:desc 表名;

      *U(Update):修改 

        1.修改表名:alter table 表名 rename to 新的表名

        2.修改表的字符集:alter table 表名 character set 字符集名称

        3.添加一列:alter table 表名 add 列名 数据类型

        4.修改列名称   类型:

            *alter table 表名 change 列名 新列名 新数据类型

            *alter table biaoming modify 列名 新数据类型

        5.删除列:alter table 表名  drop 列名  

      *D(Delete):删除

        ** drop table  if exists 表名;

  DML:操作表中的数据:增删改

      增加数据:insert into 表名 (列名1,列名2,....列名n)value(值1,'值2',...值n)

      删除数据:delete  from 表名 where 条件

      修改数据:update 表面 set 值1=值1 where 条件

  DQL:查询表中的数据

      select * from 表名;

      1.语法:

        select

           字段表名

        from 

           表名列表

        where 

           条件列表

        group by

           分组字段

        having

           分组之后的条件

        order by

           排序

        limit

          分页限定

      2.基础查询

        1.多个字段的查询

          select   字段名1,字段名2...from  表名;

          *注意:

            *如果查询所有字段,则可以使用*来替代字段列表。

        2.去除重复:

          *  distinct

        3.计算列:

          *一般可以使用四则运算一些列的值(一般只会进行数值的计算)

          *ifnull(表达式1,表达式2):null参与运算,计算结果都为null 

            *表达式1:哪个字段需要判断是否null

            *如果该字段为null后的替换值

        4.起别名:

            *as:as也可以省略

      3.条件查询

        1.where字句后跟条件

        2.运算符

          *>  ,<  ,<=   ,>=  ,=  ,<>

          *BETWEEN...AND

          *IN

          *LIKE

              *占位符

                  *单个占位符:_

                  *多个占位符:%

          *IS NULL

          *and 或 &&

          *or 或 ||

          *not 或 !

  DCL:管理用户,授权

    1.管理用户

        1.添加用户:create user ‘用户名’@‘主机名’identified by ‘密码’;

        2.删除用户:drop user '用户名' @ '主机名';

        3.修改用户密码:update user set password = password(’新密码‘)where user ='用户名';       

                或者是 set password for '用户名'@'主机名' = password ('新密码');

        4.查询用户: select *from user;

    2.权限管理:

      1.查询管理:

        show grants for '用户名'@'主机名';

      2.授予权限:

        grant 权限列表 on 数据库名.表名  to '用户名'@'主机名';

          添加所有权限

            grant all on *.* to '用户名'@'主机名';

      3.撤销权限:

        revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

    

posted @ 2022-12-24 19:08  会秃头的小白  阅读(35)  评论(0编辑  收藏  举报