MySql数据库的基本操作(简单查询)

SQL语句的操作主要分四大类:

  1. DDL:数据库模式定义语言DDL(Data Definition Language),主要对数据库和表进行操作
  2. DML:DML(Data Manipulation Language)数据操纵语言,主要对表数据进行操作
  3. DCL:(Data Control Language)数据库控制语言,主要是授权,角色控制等
  4. DQL:(Data QueryLanguage数据查询语言  主要是对表记录的查询操作

 

DDL关键字:

  1. 创建表:create

例子:

CREATE TABLE `NewTable` (
`userid`  int NOT NULL ,
`name`  varchar(255) NULL ,
`passwd`  varchar(255) NULL ,
PRIMARY KEY (`userid`)
);

  1. 删除表:drop table 表名
  2. 修改表:alter
    1. Alter table 表名 add(列名 列类型, 列名 列类型, 列名 列类型…);
  3. 查看表:show databases;

 

DML关键字:

  1. 插入数据:insert
    1. Insert into 表名(列名1, 列名2…) values (值1,值2 );

例子:在表student中插入一条数据

insert into student(id,name,age) VALUES(6,'TOm',90);

  1. 修改数据:update

条件(条件可选择):条件必须是一个boolean类型的值或者表达式,

运算符有:=、!=、<>、>、<、between  and 、is null 、or 、and…

    1. Update 表名 set 列名1=值,列名2=值… where 条件;

例子:更改student表中id为5的列的名字为张三

update student set name='张三' where id=5;

  1. 删除数据:delete
    1. Delete from 表名 where 条件;

例子:删除名字为Tom的列,如果有多行,一并删除

                       

   Delete from student where name='TOm';

 

DQL关键字:(DQL只对数据库查询,不会修改数据)

  1. 基本查询:
    1. 查询表的所有数据

Select * from 表名;

例子:查询student表中的所有内容

select * from student;

    1. 查询指定列

select 列1,列2… from 表名;

例子:查询student表中的name列

Select name from student;

    1. 完全重复的记录只显示一次 : 当查询结果中的多行记录完全一样时,只显示一行,一般用于查询某个字段中一共有几种类型的值

例子:查询age列中有几种数字不一样

select distinct  age from student;

    1. 列运算
      1. 数量类型的列可以做加、减、乘、除运算

字符串做算术运算时,会被当做0来进行运算,在字符串中+号不代表拼接

例子:将student表的age数据全都加10

select * ,age+10 from student;

      1. 字符串类型可以做连续运算

 

      1. 转换NULL值

有时需要把NULL转换成其他值,例如com+1000时,如果com列存在NULL值,那么NULL+1000还是NULL,而我们这是希望把NULL当做0来运算。

例子:将student表中的age列的值全都加10

select  IFNULL(age,0)+10 from student;

      1. 给列起别名

当使用列运算后,查询出的结果集中的列名称不好看,这时我们需要给列名起个别名,这样在结果集中列名就显示别名了。

例子:

将student表中的age列的值全都加10,将列名改为年龄。

select  IFNULL(age,0)+10 as 年龄 from student;

  1. 条件控制:

与前面介绍的UPDATE和DELETE语句一样,SELECT语句也可以使用WHERE子句来控制记录

例1:查询student表中age值大于25 且age不为空的列

select  id,name,age from student where age>25;and age is not null;

 

 

例2:查询student表中age值位于25到50之间的列

select  id,name,age from student where age between 25 and 50;

 

  1. 模糊查询:

例:当你想查询姓张,并且姓名一共两个字的员工时,就可以使用模糊查询

模糊查询需要使用运算符:LIKE,其中匹配一个任意字符,注意,只匹配一个字符而不是多个

下划线“_”可以匹配1个字符,如果要匹配0-n个字符,需要用“%;

例子:查询student表中姓张且名字是两个字的人:

select * from student where name like '张_';

 

查询student表中所有姓张的人:

select * from student where name like '张%';

 

查询名字中带六字的人

select * from student where name like '%六%';

 

  1. 排序查询
    1. 升序

按sal排序,ASC升序,DESC降序,其中ASC是可以省略的

例子:将student表中的age列升序

select * from student order by age asc;

 

    1. 降序
select * from student order by age desc;

                         

    1. 使用多列作为排序条件

例子:将student表使用age升序排序,如果age相等,再按照id降序排

select * from student order by age asc ,id desc;

 

  1. 聚合函数:

聚合函数用来做某列的纵向运算

    1. COUNT()函数

例子:计算student表中列的行数

select count(*) from student;

 

    1. MAX()函数

例子:查询age最高的值

Select max(age) from student;

 

超出范围:(涉及到了复杂查询信息)

查询年龄最大的人的信息:

select * from student where age=(select MAX(age) from student);

 

    1. MIN()函数(同max()操作一样)
    2. SUM()函数

例子:查询所有信息age之和

select sum(age) from student;

 

         VG()函数(同sun()函数一样使用)

  

 

 

猜你喜欢

转载自blog.csdn.net/qq_34377273/article/details/81227858