目录

MySQL基本操作

一.对数据库操作

1:创建数据库

2:删除数据库

3:使用数据库

4:查看当前正在操作的数据库

5:创建新用户并授权

二.对数据表操作

1:创建表

2:查看库表

3:查看表结构

4:删除表

5:修改表

三.对表记录操作

1:插入记录

2:修改表记录

3:删除表记录

4:查询记录


 

小结:

基本操作顺序如下

select  一般在的后面的内容都是要查询的字段

from  要查询到表

where

group by

having 分组后带有条件只能使用having

order by 它必须放到最后面

SELECT COUNT(uid) AS '所有含有长沙列数',uaddress FROM info WHERE uaddress LIKE '%长沙%' GROUP BY uaddress having AVG(salary)>5000 order by desc;

 

MySQL基本操作

一.对数据库操作

1:创建数据库

CREATE DATABASE 库名;
	CREATE DATABASE 数据库名 CHARACTER SET 字符集;

2:删除数据库

DROP DATABASE 库名;

3:使用数据库

USE 库名;

4:查看当前正在操作的数据库

SELECT DATABASE();

5:创建新用户并授权

-- 创建数据库
        CREATE DATABASE bos CHARACTER set uft8;
        -- 创建新用户
        CREATE user mark IDENTIFIED by 'mark';
        -- 为新用户授权
        GRANT all on  bos.* to mark;

二.对数据表操作

1:创建表

create table 表名 (
		列表1  数据类型(长度) [约束],
		列表2  数据类型(长度) [约束],
		列表3  数据类型(长度) [约束],
	);

2:查看库表

SHOW TABLES;

3:查看表结构

DESC 表名;

4:删除表

DROP TABLE 表名;

5:修改表

    5.1  添加一列

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

    5.2  修改列名

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

    5.3  修改列属性

alter table 表名 modify 要修改的字段名 类型(长度) [约束]

    5.4  删除列

alter table 表名 drop 列名

    5.5  修改表名

rename table 表名 to 新表名

 

三.对表记录操作

1:插入记录

向表中添加数据
	格式:
	insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);
	或者
	insert into 表名 values(全列值)----主键值也要写
	或者
	insert into 表名(列名1,列名2,列名3) values(值1,值2,值3),(值1,值2,值3)
	注意:
	自增主键,可以列名中不出现主键

2:修改表记录

    2.1  不带条件(该列的所有记录都更改

update 表名 set 字段名=值, 字段名=值, 字段名=值……

   2.2   带条件

update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件

3:删除表记录

    3.1  带条件(删除后,当插入新数据时,主键ID不会重置)

delete from 表名 where 条件;

    3.2  不带条件(删除后,主键ID不会重置

delete from 表名;

4:查询记录

    4.1  简单查询

查询指定字段信息
	格式:
	SELECT *|字段1,字段2,... [as 列别名] from 表名 [as 表别名];
distinct用于去除重复记录
	格式:
	SELECT DISTINCT(字段) FROM 表名;

     4.2  条件查询

比较运算符

>  <  <=   >=   =  <>

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

BETWEEN...AND...

显示在某一区间的值(含头含尾)

IN(set)

显示在in列表中的值,例:in(100,200)

LIKE  通配符

模糊查询,Like语句中有两个通配符:

%用来匹配多个字符;例first_name like ‘a%’;

_用来匹配一个字符。例first_name like ‘a_’;

IS  NULL

判断是否为空

is null; 判断为空

is not null; 判断不为空

 

AND

多个条件同时成立

OR

多个条件任一成立

NOT

不成立,例: where not (salary >100);

查询所有姓名为mark记录
SELECT * FROM student WHERE name = 'mark';

查询出工资大于5000的信息
SELECT * FROM student WHERE money >5000;

查询出工资在2000-5000之间信息
SELECT * FROM student WHERE money >=2000 AND money <=5000;
或
SELECT * FROM student WHERE money BETWEEN 2000 AND 5000;

查询出工资是1000或5000或3500信息
SELECT * FROM student WHERE money =1000 OR money =5000 OR money =3500;
或
SELECT * FROM student WHERE money IN(1000,5000,3500);

查询出地址名称包含”长沙”的信息。
SELECT * FROM student WHERE name LIKE "%长沙%";

查询出地址名称中是五个字的账务信息
SELECT * FROM student WHERE address LIKE "_____"; -- 五个下划线_

查询出姓名不为null账务信息
SELECT * FROM student WHERE name IS NOT NULL;
SELECT * FROM student WHERE NOT (name IS NULL);

    4.3  排序查询

order by 用于对指定列排序数据
	格式:
	SELECT 列名 from 表名 where 条件 order by 列名 [desc][asc];
	desc:降序
	asc:升序,默认升序

    4.4  聚合函数

AVG() 返回某列的平均值
COUNT() 返回某列的行数(不为空)
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某个列之和

    4.4  分组

group by 对表中某类别类进行分组
	格式:
	SELECT 列名 from 表名 group by 列名;

注意:结果集是分组查询后,再次进行筛选,不能使用where,分组后再次过滤,要使用关键词having