7.21 数据库

本文介绍了MySQL中对表的操作,包括添加、修改和删除列,以及修改表名和删除表。还涉及数据管理,如插入、查询、更新和删除数据。此外,讨论了数据备份方法和条件查询,包括聚合函数和分组查询。最后提到了一些常用的字符串函数。
摘要由CSDN通过智能技术生成

7.21 数据库

1.表操作
  • 添加列

    alter table 表名 add 字段名 类型;
    
  • 修改列的类型

    alter table 表名 modify 字段名 类型;
    
  • 修改列名称和类型

    alter table 表名 change 原字段名 新字段名 新字段名类型;
    
  • 删除列

    alter table 表名 drop 字段名;
    
  • 修改表名
alter table 旧表名 rename to新表名;
或者
rename table 旧表名 to 新表名;
  • 删除表

    drop table 表名;
    #会连数据一起删除
    
  • 截断表

    truncate table 表名;
    #删除表之后会创建出一个空表
    
  • ​ 创建和某表结构一样的表

    create table 表名like 要复制的表;
    create table 表名 like 数据库.要复制的表;(要复制的表在其他数据库)
    
2.数据管理
  • 插入数据

    insert into 表名[(字段名1,字段名2...)]values/value(value1,value2...);
    插入多条数据时
    insert into 表名 values(),(),(),...;
    
  • ​ 查询数据

    select * from 表名;
    select* from 表名 where 条件(字段名=value);
    #设置列别名
    select 字段名 [as]'别名' from 表名 where 条件;
    #剔除重复行
    select dictinct *from 表名;
    只是在显示的时候不显示 数据并没有删除
    
  • 修改数据

    update 表名 set 字段=value where 条件;
    
3.数据备份
  • 备份表结构

    mysqldump -u root -p -d 数据库 表名>location;
    #-d 不备份数据,默认为备份数据
    mysqldump -u root -p -d 数据库>location;
    #数据库和表结构一起备份
    
  • ​ 备份多个数据库

    mysqldump -u root -p -d --databases 数据库1 数据库2>location;
    mysqldump -u root -p -d --all-databases 数据库1 数据库2>location;
    
  • ​ 将查询的结果集保存为文件

    mysql -u root -p -d -e"select *from 数据库.表名">location
    
  • 还原数据结构和数据

    #登录使用数据库
    source loction;
    mysql -u root -p 新的数据库名<location;
    
4.条件查询
  • 条件过滤

    select * from 表名;
    select * from 表名 where 字段=values;
    select *from 表名 where 字段 between value1 (最小值)and value2(最大值);
    select * from 表名 where 字段 in(value1,value2...)
    例 查询年龄等于18或 20或40的员工信息
       select*from 表名 where age in(18,20,40);
    
    
  • 模糊查询

    _匹配单个字符 %匹配0个或多个字符 like
    select*from 表名 where 字段like '--';
    例查询姓名为两个字的员工的信息,
     select *from 表名 where name 'like --';
     查询身份证号最后一位为X的员工信息
       select* from 表名 where id like '%X';
    
  • ​ 逻辑运算

    select*from 表名 where 字段>value;
    > >= < <=  == !=
    
  • 聚合函数:将一列数据作为一个整体,进行纵向计算

    常见的聚合函数:count(统计数量),max(最大值),min(最小值),avg(平均值),sum(求和)作用于表中的某一列
    语法:
    select 聚合函数(字段列表)from 表名;
    例 统计员工数量
     select count (*)/(id) from 表名;
    ==null值不参与所有聚合函数运算==
    
  • ​ 分组查询

    select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
    例 根据性别分组,统计男性员工和女性员工的数量
     select sex,count(*)from 表名 group by sex;
    

    where与having的区别:

    执行时间不同:where是在分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后进行过滤。

    判断条件不同:where不能对聚合函数进行判断,而having可以。

  • 排序查询

    select 字段列表 from 表名 where 条件 order by 字段1 排序方式1,字段2 排序方式2;
    
  • 分页查询

    select * from 表名 limit 起始索引,查询记录数;
    起始索引从0开始 起始索引=(查询页码-1)*每页显示记录数
    例 查询第一页员工数据,每页显示十条记录
    

select* from 表名 limit 0,10;
例 查询第二页数据,每页展示十条记录
select *from 表名 limit 10,10;



##### 5.函数

 函数是指可以直接被另一段程序调用的程序和代码。

- 字符串函数

concat 字符串拼接,将S1,S2,…,Sn拼接成一个字符串
select(“hello”,“world”) from 表名;
lower(str) 将字符串str全部转换成小写
eg. select lower(str),upper(str) from 表名;
upper(str)将字符串str全部转换成大写
#计算长度
select length(“123”);
select length(字段)from 表名








评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值