MYSQL--数据库基本操作

本文详细介绍了SQL数据库的基本操作,包括库的查看、创建、删除与使用,以及数据类型的分类如整型、浮点型、字符串型和日期型。重点讲解了表的操作,如创建、查看、修改和删除,以及如何进行数据的增删改查。深入探讨了查询语句,如简单查询、分页查询、条件查询和聚合函数的使用。此外,还涵盖了键值约束,如非空约束、唯一约束和主键约束等。
摘要由CSDN通过智能技术生成

1. 库的操作

  • sql–结构化查询语言:有具体格式与语法规则
  • 库表字段名称不能使用关键字–如果非要使用则需要使用反引号``括起来,不区分大小写
  • 查看:show databases;
  • 创建:create database dbname; create database if not exists dbname;
  • 删除:drop database dbname;
  • 使用:use dbname;
  • 查看当前使用的数据库:select database();

2. 数据类型

  • 整型:bit(), tinyint, int, bigint
  • 浮点型:float(m,d), double(数字个数m,数字中小数的个数d),decimal(m,d)(建议使用), numeric(m,d)
  • 字符串型:varchar(32)–可变长–最多存储32个字符, text, mediumtext, blob
  • 日期型:datetime(常用), timestamp

3. 表的操作

3.1 表的基本操作

  • 表:以行列的关系模型组织数据,一个库中可以存在多张表
  • 学生信息表:学号,姓名,年龄,性别,身高,体重…
  • 创建:
    create table if not exists stu( sn int, name varchar(32), age int, sex varchar(1), height int, weight decimal(4,1));
  • 查看:show tables;
  • 描述表结构 describe stu; show create table stu;
    在这里插入图片描述
    在这里插入图片描述
  • 修改:alter table stu add birth datetime;在这里插入图片描述
  • 删除:drop table stu;
    在这里插入图片描述
    在这里插入图片描述

3.2 表中数据的增删改查

  • 简单查询:select * from stu;

  • 新增:insert ,
    · insert into stu value(01, '张三', 20, '男', 185, '72.5', '2000-07-05 07:07:02');
    · insert into stu(name, sn, sex) value('李四', 02, '女');
    · insert into stu value(03, '王五', 21, '男', 180, '68.5', '2000-07-07 07:05:02'), (04, '赵六', 24, '男', 180, '65.5', '1997-07-07 07:07:07');
    在这里插入图片描述

  • 修改:update
    · update stu set age = 21,height = 183 where sn = 01;
    · update stu set age = 21,height = 165, weight= 45.8 where sn = 02;
    在这里插入图片描述

  • 删除:delete
    · delete from stu where sn = 03;
    在这里插入图片描述

  • 查询:select
    · select * from stu;–默认全列
    · select height, weight, name from stu; --指定列查询
    在这里插入图片描述
    · 查询字段为表达式+取别名:as
    select weight+height as hw, name from stu;
    在这里插入图片描述
    · 去重:distinct
    select distinct height from stu;
    在这里插入图片描述
    · 排序:order by desc/asc
    select * from stu order by height desc, age asc;
    在这里插入图片描述

  • 分页查询:limit
    · select * from stu order by height desc limit 3;
    · select * from stu order by height desc limit count offset page*count;
    在这里插入图片描述

  • 条件查询:where
    · select * from stu where name = '张三';

  • 关系运算符
    · 比较:>,>=,<,<=,=,!=,<=>,<>
    · 空值:is null is not null
    · 范围:between and , select * from stu where height between 170 and 180;
    · 子集匹配:in(集合) select * from stu where name in ('王五'; '赵五','李五');
    · 模糊匹配:like select * from stu where name like '%五%';

  • 逻辑运算符
    · 与:双目,and-连接两个比较条件,两者同为真则结果为真;
    · 或:双目,or-连接两个比较条件,两个任意一个为真,则结果为真;
    · 非:单目,not-针对单个比较条件,条件为真,则结果为假。

  • 分组查询group by having
    · 以表中某一字段作为分组依据进行数据统计的分组查询;
    · 分组查询的字段只能是分组依据字段以及聚合函数;
    · 分组查询中不能使用where条件查询,如果条件过滤使用having。
    select role, sum(salary) from emp group by role;
    在这里插入图片描述
    select role,sum(salary),max(salary),min(salary),avg(salary) from emp group by role having avg(salary)>1500;
    在这里插入图片描述

  • 聚合函数
    · 真的的结果中的数据的某个字段进行某种统计运算。
    · count(*)– 统计数据条数;
    · sum(fields)– 统计指定字段的和;
    · max(fields)– 统计指定字段中的最大值;
    · min(fields)– 统计指定字段中的最小值;
    · avg(fields)– 统计指定字段中的平均值;

3.3 表中数据的增删改查进阶

键值约束与扩展属性

  • 键值约束:约束表中指定字段的数据必须符合某种规则
  • 种类:
    · 非空约束:NOT NULL-- 约束指定字段的数据不能为NULL;
    · 唯一约束:UNIQUE-- 约束指定字段的数据不能出现重复;
    · 主键约束:primary key-- 数据非空且唯一,一张表只有一个主键;
    · 外键约束:foreign key-- 表中指定字段的数据受父表数据约束;
    · 默认值:DEFAULT-- 为指定字段设置默认值;
    · 自增属性:AUTO_INCREMENT-- 整型字段数据自动+1;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值