• MySQL基础总结


    一.sql数据及语言基本类型:

          1.语言的分类

                  DDL:数据定义语言,用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

                  DML:数据操作语言,用来对数据库中表的记录进行操作。关键字:insert,delete,update等

                  DQL:数据库查询语言,用来查询数据库中表的记录。关键字:select,from,where等

                  DCL:数据库控制语言,用来定义数据库的访问权限和安全级别,以创建用户

          2.sql语句的通用语法

                (1).sql语句可以单行或多行书写,以分号结尾

                (2).可以使用空格和缩进来增强语句的可读性:基本上一个单词就一个空格

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

                (4).注释字符有:/**/,#,--

    1. /*我是注释*/
    2. #我是注释
    3. --我是注释

               (5).运算符:

                    逻辑:and(和,表示同时需要满足两个条件),or(或,表示两个条件只需满足其一即可),not(不,常用于取反)

                   算数:+,-,*,/,% 分别为加,减,乘,除,取余

         3.sql中的数据类型

               int(整数长度):整数类型       double:小数类型            decimal(m,d):指定整数位于小数位长度的小数类型

              Date:日期类型,格式位yyyy-mm-dd,包含年月日,不包含时分秒

              Datetime:日期类型,格式为yyyy-mm-dd hh:mm:ss,包含时分秒

              Time:日期类型,格式为 hh:mm:ss       

    二:重要的sql命令

         1.创建数据库

    create datebase 数据库名

          2.修改数据库

    alter table 库名 character set 编码集

         3.创建新表

    1. create table 表名(
    2. 写入字段
    3. )注释;

        4.修改表

    alter table 表名 rename to 新表名
    

       5.删除表

    drop table 表名

       6.查找表中数据

    select 需要查询的字段 from 查找的表名 where 查找条件

       7.更改表中数据

    update 表名 set 需要修改的字段=修改后的字段 where 修改条件

      8.从数据库中删除数据

    1. delete from 表名 where 条件,
    2. truncate table 表名,
    3. truncate语句删除后将重置自增列.表结构及其字段、约束、索引保持不变,执行速度比delete语句快(删除表中所有内容)

     9.从表中插入新的数据

    insert into 表名(需要插入的字段名) value (需要插入的内容)

     10.创建索引(搜索键)

    create index (索引名) on (表名(需要创建索引的字段名))

     11.删除索引

    drop index (索引名) on (表名)

    三、sql语法语句

     1.select语句

            select语句用于从数据库中选取数据

           语法:

    select column_id,column_name from table_name; #查询表中指定字段column_id和column_name


     

    select * from table_name;#用于查询表内所有字段,*代表表找那个所有字段

    2.select distinct语句

            select distinct语句用于返回唯一不同的值

           语法:

    select distinct column_name from table_name;#查询表table_name中column_name字段且返回不同的值

    3.where子句

          where子句用于提取那些满足指定标准的记录

          语法:

    select * from column_name where country='CN'; #从表中选出国家为cn的人名

          注: sql使用单引号来环绕文本值,如果是数值字段,不要使用引导 

         where子句中的运算符:

           运算符描述: =等于 、<>不等于

          注释:在SQL的一些版本中,该操作符可被写成 !=>大于、<小于、>=大于等于、<=小于等于between在某个范围内link搜索某种模式in指定针对某个列的多个可能值

         where子句比如:

           搜索emp等于7900的数据;

    select * from emp where empno=7900;

          Where +条件(筛选行) :

           条件: 列,比较运算符,值

           比较运算符包涵:=(等于),>(大于),<(小于),>=(大于等于) ,<=(小于等于), !=和<> 表示(不等于)

           且字符串需要用单引号包裹起来,且需要区分大小写。

    4.逻辑运算符

          1.And:与 同时满足两个条件的值。

    Select * from emp where sal > 2000 and sal < 3000;#查找sal值大于2000且小于3000的值

          2.Or:或 满足其中一个条件的值 

    Select * from emp where sal > 2000 or comm > 500;#查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。

        3.Not:非 满足不包含该条件的值。

    select * from emp where not sal > 1500;#查询EMP表中 sal 小于等于 1500 的值。

     逻辑运算的优先级:

    () not and or

    四.特殊条件:

     1.空值判断:  is null

    Select * from emp where comm not null; 查询 emp 表中 comm 列中的不为空的值。

     2.between and (在 之间的值)

    Select * from emp where sal between 1500 and 3000;#查询emp表中SAL列中大于1500的小于3000的值。

         注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,       上限在后,查询的范围包涵有上下限的值。

     3.in包含多个条件值

    Select * from emp where sal in (5000,3000,1500); #查询EMP表SAL列中等于5000,3000,1500的值。

     4.like模糊查询

    Select * from emp where ename like 'M%';#查询EMP表中Ename列中有M的值,M为要查询内容中的模糊信息。
    1.  % 表示多个字值、_ 下划线表示一个字符;

    2. M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。

    3. %M% : 表示查询包含M的所有内容。

    4. %M_ : 表示查询以M在倒数第二位的所有内容。

     5.AND & OR 运算符(用于基于一个以上的条件对记录进行过滤):

    1. select * from Websites where alexa > 15 and (country='CN' OR country='USA');
    2. ---从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站

     6.ORDER BY 关键字:

         ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序,ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,可以使用 DESC 关键字,默认按照升序排列,desc则按照降序排列

      语法:

    1. select column_name,column_name from table_name
    2. order by column_name,column_name asc|desc;

      例:

    1. --从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序
    2. select * from Websites order by alexa;
    3. --从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序
    4. select * from Websites order by alexa desc;
    5. --从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序
    6. select * from Websites order by country,alexa;

       注:order by 多列的时候,先按照第一个第一个值排序,当第一个值相同时再按照第二个第二个值排序,order by 排列时,不写明asc desc的时候,默认是asc;

    五.基本操作

       insert into语句: 

       insert into 语句用于向表中插入新记录

       语法:

       insert into 语句可以有两种编写形式

       第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

    insert into table_name values (value1,value2,value3,...); 

      第二种形式需要指定列名及被插入的值:

    insert into table_name (column1,column2,column3,...) values (value1,value2,value3,...); 

      DELETE 语句:

      DELETE 语句用于删除表中的行

      语法:

    1. delete from table_name where some_column=some_value;
    2. ---表示删除表中some_column字段等于some_value的那一行数据

      删除所有数据:

      可以在不删除表的情况下,删除表中所有的行。不改变表结构、属性、索引:

    1. delete from table_name;
    2. ---或
    3. delete * from table_name;

      注意:

       where子句规定哪条记录或者哪些记录需要删除。如果省略了where子句,所有的记录都将被删除!

  • 相关阅读:
    Unity中Shader模板测试使用到的二进制
    信息化与数字化的区别,我掺和一把
    基于蝙蝠算法实现电力系统经济调度(Matlab代码实现)
    网络安全(黑客技术)—2024自学手册
    系统高可用需要关注的点
    Java基础
    短视频营销:品牌与年轻消费者的新连接方式
    Stable Diffusion 启动时 got an unexpected keyword argument ‘socket_options‘ 错误解决
    java计算机毕业设计高校教材征订管理系统MyBatis+系统+LW文档+源码+调试部署
    Java运算符
  • 原文地址:https://blog.csdn.net/ypf3442354429/article/details/127806259