MySQL基础总结

本文详细介绍了SQL的基础,包括数据定义、操作、查询语言、数据类型,以及创建数据库、修改表结构、数据操作、索引管理等关键命令。通过实例解析,掌握如何编写SELECT, DISTINCT, WHERE, ORDER BY等高级查询和逻辑运算。
摘要由CSDN通过智能技术生成

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

      1.语言的分类

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

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

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

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

      2.sql语句的通用语法

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

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

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

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


      /*我是注释*/
      #我是注释
      --我是注释

           (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.创建新表

create table 表名(
   写入字段
)注释;

    4.修改表

alter table 表名 rename to 新表名

   5.删除表

drop table 表名

   6.查找表中数据

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

   7.更改表中数据

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

  8.从数据库中删除数据

delete from  表名 where 条件,

truncate table 表名,

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 运算符(用于基于一个以上的条件对记录进行过滤):

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

 6.ORDER BY 关键字:

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

  语法:

select column_name,column_name from table_name 
order by column_name,column_name asc|desc; 

  例:

--从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序 
select * from Websites order by alexa; 

--从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序 
select * from Websites order by alexa desc; 

--从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序 
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 语句用于删除表中的行

  语法:

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

  删除所有数据:

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

delete from table_name; 
---或
delete * from table_name; 

  注意:

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值