Mysql数据库简单介绍

Mysql的基本操作

Mysql数据库是一种比较常见的数据库,今天来把Mysql数据库的基本操作罗列一些

相关概念

  • database: 数据库,MySQL里可以有多个database
  • table: 表,一个database里可以有多个table
  • 记录:表里每一行/每一条数据,称为一条记录
  • column: 字段,一个table里可以有多个column

SQL操作MySql

分析
  • 管理database,常用的有:
    • 创建database
    • 查看database
    • 修改database
    • 使用database
    • 删除database
语法
  • 创建库:create database [if not exists] 库名称 [character set 字符集]
  • 查询所有库:show databases
  • 查看一个库的创建信息:show create database 库名称
  • 修改库:alter database 库名称 [default] character set 字符集
  • 切换库/使用库:use 库名称
  • 查看现在在哪个库里:select database()
  • 删除库:drop database 库名称
DDL操作表table
DDL操作table
  • 语法

    • 创建表:create table 表名称(字段名 类型 [约束], 字段名 类型 [约束], ...)
    • 查看所有表:show tables
    • 查看表结构:desc 表名称
    • 查看表创建信息:show create table 表名称
    • 修改表:
      • 重命名表:rename table 原名称 to 新名称
      • 添加字段:alter table 表名称 add 字段名 类型
      • 修改字段类型:alter table 表名称 modify 字段名 新类型
      • 修改字段名称:alter table 表名称 change 原字段名 新字段名 类型
      • 删除字段:alter table drop 字段名
    • 删除表:drop table 表名称
    DML语句
    语法
  • 插入数据:MySql可以以字符串形式插入一切类型的数据

    • 插入所有字段:insert into 表名称 values (值1, 值2, ...)

      注意:

      • 值的个数必须等于表里字段的个数
      • 值的顺序必须和表里字段的顺序一样
    • 插入指定字段:insert into 表名称 (字段名1, 字段名2, ..., 字段名n) values (值1, 值2, ..., 值n)

      注意:

      • 值的个数 必须 和前边声明的字段的个数一样
      • 值的顺序 必须 和前边声明的字段的顺序一样
  • 修改数据

    • update 表名称 set 字段名1=值1, 字段名2=值2,..., 字段名n=值n [where 条件]
  • 删除数据

    • 删除符合条件的数据:delete from 表名称 [where 条件]
    • 摧毁重建表:truncate table 表名称
DQL语句
语法
  • 基本语法:select [distinct] 字段1,字段2..|* from 表名称

    • 查询并处理Null值:ifnull(字段, 默认值)

    • 查询并进行运算:+,-,*,/

    • 查询并起别名:字段名 [as] 别名

    • 去重查询:distinct

      distinct后边所有的字段值都一样,才是重复值,是要去掉的。

  • 注意:查询操作,不会对表里的数据有任何的影响

条件查询
语法
  • 条件查询语法:select * from 表名称 where 条件
    • 条件运算符有:
      • >, <, >=, <=, =, <>
      • is nullis not null
    • 模糊查询:like '表达式'not like '表达式'。在表达式里可以写:
      • _:一个任意字符
      • %:任意个任意字符
    • 范围查询:
      • between 开始值 and 结束值,包含开始值和结束值
      • in(值1, 值2, ....)
    • 多条件连接符有:and, or not(条件)
排序查询
语法
  • order by 排序字段 排序规则, 排序字段2 排序规则2, ...

  • 排序规则有:

    • ASC:升序,从小到大,默认的
    • DESC:降序,从大到小
    聚合函数
    语法
  • 聚合函数:用于进行列数据统计的。常用的聚合函数有:

    • count(字段):统计数量
    • sum(字段):求和
    • avg(字段):求平均值
    • max(字段):求最大值
    • min(字段):求最小值
    分组查询
    语法
  • 语法:group by 分组字段 [having 分组后的过滤条件]
  • 注意:select后边,只能跟分组的字段,或者聚合函数。不能查询与分组无关的字段
  • where和having的区别:
    • where在分组前执行;having在分组后执行
    • where过滤原始表的数据;having过滤分组后的数据
    • where里不要写聚合函数;having里可以写聚合函数
  • 分组查询的顺序:
    • 使用where对原始表进行过滤
    • 根据分组字段进行分组统计,得到分组后的结果
    • 使用having对分组后的结果进行过滤
    分页查询
    语法
  • 语法:limit 起始索引,查询数量
  • select 字段|聚合 from 表名称 where 条件 group by 分组字段 having 分组后过滤 order by 排序字段 排序规则 limit 起始索引,查询数量`

MySql约束

MySql中约束有:

  • 主键约束
  • 唯一性约束
  • 非空约束
  • 默认值约束
1. 主键约束
  • 主键:一张表里数据的唯一标识。原则上:每张表必须有主键,且只能有一个主键

  • 主键约束:

    • 作用:被主键约束的字段,值必须是非空、唯一

    • 语法:primary key [auto_increment]

      • 如果主键字段是整数,可以增加auto_increment,MySql会自动生成主键值:1,2,3, ... +1
      • 如果不是数字,不要增加auto_increment
      2. 唯一性约束
  • 作用:唯一性约束的字段,值不能重复,但是可以为null

  • 语法:字段名 类型 unique

3. 非空约束
  • 作用:非空约束的字段,值不能为null
  • 语法:字段名 类型 not null
4. 默认值约束
  • 作用:默认值约束的字段,如果不指定值,取默认值(如果指定null值,值就是null,不取默认值)
  • 语法:字段名 类型 default 默认值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值