day02-MYSQL数据库及数据表的操作

前言:数据库的重中操作就是查询,而查询中操作率最高的就是对数据表中数据的查询!!
一、数据库的增删查操作

  1. 登录数据库

windows,linux均适用
方式1:mysql -uroot -p密码
方式2: mysql -uroot -p 回车后再输入密码(以密码不可见的方式登录)

  1. 创建数据库:

create database 库名 charset=utf8

  1. 显示当前所有的数据库:

show databases

  1. 使用数据库

use 数据库名

  1. 显示当前正在使用的数据库:

select database()

  1. 删除数据库

drop database 库名;

①登录数据库
方式1:mysql -uroot -p密码
方式2: mysql -uroot -p 回车后再输入密码(以密码不可见的方式登录)

二、数据表的增删改查操作

1.查询操作

  • 显示当前正在使用的数据表:

    select table();

  • 显示当前数据库中所有的表:

    show tables;

  • 显示当前数据库中某个表的表结构(具体字段和类型约束):

    desc 表名;

2.修改操作(重命名、修改、删除字段)

  • 向数据表中添加字段:

alter table 表名 add 新字段 类型 约束

  • 修改数据表中的字段(不修改字段名)

alter table 表名 modify 字段名 类型 约束

  • 修改数据表中的字段(修改字段名)

alter table 表名 change 原字段名 新字段名 类型 约束

  • 删除数据表中的字段

alter table 表名 drop 字段名
注:删除某一字段后,该字段的所有数据都将被删除

3.删除操作

  • 删除数据表

drop table 表名-
注:删除某一数据表后,该数据表中的数据都会被删除

4.创建操作

create table 表名(
字段1 类型 约束,
字段2 类型 约束
);
注意:多个约束之间用空格隔开,最后一个字段后面不加逗号

三、对数据的操作
1.添加数据

  • 向指定字段添加数据

insert into 表名(字段1名,字段2名) values(值1,值2);
注:值1,值2的顺序要与字段的顺序一致

  • 一次性向一个字段添加多条数据

insert into 表名(字段名) values(值1),(值2),(值3);

  • 一次性向指定字段添加多行

insert into 表名(字段1名,字段2名) values
(值1,值2),
(值3,值4);

  • 向所有字段添加数据

insert into 表名 values(值1,值2,值3,…);

  • 一次性向所有字段添加多行数据

Insert into 表名 values
(值1,值2,值3,…),
(值4,值5,值6,…);

2.删除数据

  • 物理删除

delete from 表名 where 条件;

  • 逻辑删除

update 表名 set is_delete = 1 where 条件

注:逻辑删除一般用is_delete字段来标记,值为1即删除,值为0即未删除

3.修改数据

update 表名 set 字段1=值1,字段2=值2;

4.查询数据

  • 查询全部数据

select * from 表名;

  • 查询指定字段

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

  • 重命名查询

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

四、数据的去重操作

select distinct 字段名 from 表名;
select * from 表名 group by 字段名;

五、条件查询

1 .比较查询

<,>, >=, <= ,=, != ,<>(不等于的另一种)

2.逻辑查询

and , or, not

3.模糊查询

like
rlike(参数是正则表达式)
%(匹配0个或多个)
_(匹配1个或多个)

4.范围查询

in(值不连续),
not in ,
between… and…(值连续)

注:in只是在所有结果集中匹配(可能不连续),between是在连续区间中匹配
5.空判断

is null,
is not null

*注:null 不等于空字符串’’
六、排序
1.对单个字段排序

order by 字段名 desc/asc

2.多个字段排序

order by 字段1名desc,字段名2 desc

*注:默认排序顺序为升序(asc),所谓多个字段排序表示当按照第一个字段排序后有相同情况出现时,将相同情况的字段再按照第二个字段排序

七、聚合函数

  • count(*/列名)表示计算总行数,括号中写星与列名,结果是相同的
  • max(列名)表示求此列的最大值
  • min(列名)表示求此列的最小值
  • sum(列名)表示求此列的和
  • sum(列名)表示求此列的和
    八、分组
    将查询结果按照1个或多个字段进行分组,字段值相同的为一组

select 字段名 from 表名 group by 字段名

注:若group by 后不可使用where 条件判断,只能使用having 条件判断
约定:一般对原数据表操作时使用where 条件。如果需要对一系列操作后的数据表使用条件判断时,一搬使用having

九、分页

  • 显示指定数量的记录

select * from 表名 limit [start,]stop;

start表示开始的记录,stop表示结束的记录,不写start时默认从0开始,即第1条记录

  • 按页查询-显示指定页数的数据

limit (第N页-1)*每页的记录,每页的个数

十、连接查询
1.内连接

inner join 表名 on 条件

2.外连接

left join 表名 on 条件
right join 表名 on 条件

3.自链接

inner join 表名 on 条件 —自己连接自己

发布了30 篇原创文章 · 获赞 0 · 访问量 287

猜你喜欢

转载自blog.csdn.net/qq_36334897/article/details/104897210