数据库操作

SQL数据库常用操作

数据库创建和删除

  1. 创建数据库

    create database 数据库名;

  2. 调用数据库

    use 数据库名;

  3. 删除数据库

    drop database 数据库名;

  4. 显示所有数据库 show database;

基本表的创建与修改

  1. 创建基本表

create table 表名(列名 数据类型 (列级完整性条件),

);

列级完整性约束条件

  • primary key 主码

  • unique 值唯一,不重复

  • not null 不为空

  1. 删除基本表

drop table 表名 (restrict|cascade)

  • restrict :删除的该表不能被其他约束所引用

  • cascade:没有条件限制,在删除基本表的同时,相关的依赖对象和视图会被一起删除

  1. 修改基本表

alter table 表名 ()

  • add 新列名 数据类型 完整性约束; // 增加新列

  • add 表级完整性约束; //添加表级完整性约束

  • drop (column) 列名 (restrict|cascade); //删除原有的列

  • drop constraint 完整性约束名; //删除hiding的完整性约束条件

  • alter column 列名 数据类型; //修改原有的列定义,包括列名和数据类型

表内数据的 增删改查

  1. 增命令

    insert into 表名 【(列表名1,列表名2...)】 values(相应的值);

    【内的内容表示可以省略,如果省略则value内值顺序要与表中列的顺序相同】

    如果列名不写完,那么可以在表中导入新数据时,只添加部分字符串

    通过 values(),(),();可以一次性添加多条数据

    image-20210412105554282

image-20210412105605725

  1. 删除命令

truncate 表名; //删除全部数据

delete from 表名 where 列名 = 数据;

image-20210412105839645

image-20210412105929110

image-20210412110015077

image-20210412110037977

  1. 修改命令

    update 表名 set 列名= 值 (where 选择条件)

 

image-20210412110319550

image-20210412110329889

  1. 查询命令

    1. 单表查询

select 目标列 from 表名或视图 where 条件表达式 group by 列名 【having 条件表达式】 order by 列名

where 条件表达式的几种用法

  • 比较大小 (= 等于) (>大于) ( <小于) (>= 大于等于) (<= 小于等于) (!= <> 不等于) (!> 不大于) (!< 不小于)

image-20210412131756447

  • 确定范围

    • between 低值 and 上限 语句 not between and

image-20210412133732280

  • 确定集合

    • in not in语句

image-20210412133927969

  • 字符匹配

    • like 和 not like 语句 (模糊查询) %表示任意长度字符串,_表示长度为1的字符串

image-20210412134159264

group by 列名: 将查询到的表 ,按照 指定列名的值进行排列。

  • 涉及空值的查询

    • is null 为空 is not null

image-20210412135019114

  • 多条件查询 and or

image-20210412135129879

  • order by 对查询结果按照 一个或多个属性列的升序(asc) 降序(desc)排列 默认升序

image-20210412135406332

image-20210412135431923

  • 汇聚函数

    • count(*) 统计元组个数

    • count(Distinct| all列名) 统计一列中值的个数

      • distinct表示取消重复值 all表示不取消重复值

    • sum(Distinct| all列名) 计算一列值的总和

    • avg(Distinct| all列名)计算一列值的平均值

    • max(Distinct| all列名)求一列值中的最大值

    • min(Distinct| all列名)求一列值的最小值

image-20210412140656013

image-20210412140908380

image-20210412141018979

image-20210412141237760

image-20210412141303062

  • group by (目标列) 按照列的值进行分组,具有相同目标列的值为一组

 

posted @ 2021-04-12 14:25  2333gyh  阅读(76)  评论(0编辑  收藏  举报