MySQL的基础操作

目录

一.数据库的操作

1.显示当前的数据库

2.创建数据库

3.删除数据库

4.选择数据库

补充:

二.表的基础操作

1.常用数据类型:

2.查看表结构

3.创建表

4.删除表

三.表的增删改查

1.新增(Create)

2.查询(Retrieve)

3.修改(Update)

4.删除(Delete)


一.数据库的操作

1.显示当前的数据库

sql 复制代码
SHOW DATABASES;

2.创建数据库

sql 复制代码
CREATE DATABASE database_name;

3.删除数据库

sql 复制代码
DROP DATABASE database_name;

4.选择数据库

sql 复制代码
USE database_name;

补充:

1.创建数据库的时候可以加上**[IF NOT EXISTS]** 关键字,表示此数据库没创建时才创建

sql 复制代码
CREATE DATABASE IF NOT EXISTS database_name;

2.创建数据库的时候可以用**[SET]** 指定编码格式 ,没有指定用默认字符集:utf8

sql 复制代码
CREATE DATABASE IF NOT EXISTS database_name SET utf8mb4;

二.表的基础操作

先了解表的常用数据类型

1.常用数据类型:

  • 整数类型

    • INT/INTEGER: 标准大小的整数,通常使用INT,占用4字节。
    • TINYINT: 很小的整数,占用1字节。
    • SMALLINT: 小整数,占用2字节。
    • BIGINT: 大整数,占用8字节。
  • 浮点数类型

    • FLOAT: 单精度浮点数,占用4字节。
    • DOUBLE: 双精度浮点数,占用8字节。
  • 定点数类型

    • DECIMAL/NUMERIC: 用于存储精确的小数,需要指定精度和范围。
  • 字符串类型

    • CHAR: 定长字符串,最多255个字符。
    • VARCHAR: 变长字符串,最多65535个字符。
    • TEXT: 长文本字符串,最多65535个字符。
    • BLOB: 二进制数据,用于存储大型数据。
  • 日期和时间类型

    • DATE: 日期,格式为'YYYY-MM-DD'。
    • TIME: 时间,格式为'HH:MM:SS'。
    • DATETIME: 日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。
    • TIMESTAMP: 时间戳,存储从1970年1月1日以来的秒数。
  • 枚举和集合类型

    • ENUM: 用于存储枚举值,可从指定的值列表中选择一个。
    • SET: 用于存储多个枚举值,可从指定的值列表中选择多个。
  • 空间数据类型

    • GEOMETRY: 用于存储几何图形对象的数据类型。

2.查看表结构

sql 复制代码
DESC table_name;

3.创建表

sql 复制代码
CREATE TABLE table_name(
   field1 datatype,
   field2 datatype,
   field3 datatype,
   ......
);
//field1    意思是字段,表示你为该字段取的名
//datatype  表示该字段的数据类型

注:可以使用[**comment]**增加字段说明,示例如下:

sql 复制代码
create table student(
   id int,
   name varchar(20) comment '姓名',
   password varchar(30) comment '密码',
   age int,
   sex varchar(1),
   birthday timestamp,
   resume text
);
   

4.删除表

sql 复制代码
DROP TABLE table_name;

注:同样可以使用**[if exists]**,示例如下:

sql 复制代码
drop table if exists student;

三.表的增删改查

1.新增(Create)

首先创造一张新表:

sql 复制代码
DROP TABLE IF EXISTS student;
CREATE TABLE student (
   id INT,
   sn INT comment '学号',
   name VARCHAR(20) comment '姓名',
   qq_mail VARCHAR(20) comment 'QQ邮箱'
);

1)单行数据 + 全列插入

sql 复制代码
INSERT INTO student VALUES(100,200,'小明',null);

2)多行数据 + 指定列插入

sql 复制代码
INSERT INTO student (id,sn,name) VALUES
    (100,200,'小明'),
    (101,201,'小张');

2.查询(Retrieve)

首先创造一张新表

sql 复制代码
DROP TABLE IF EXISTS student;
CREATE TABLE student (
   id INT,
   sn INT comment '学号',
   name VARCHAR(20) comment '姓名',
   math DECIMAL(3,1),
   english DECIMAL(3,1),
   chinese DECIMAL(3,1),
);

1)全列查询

sql 复制代码
SELECT * FROM student;

2)指定列查询

sql 复制代码
SELECT id, name, math FROM student;

3)别名

sql 复制代码
SELECT name, math+chinese+english as 总分 from student;

//as可以省略

4)去重:DISTINCT

sql 复制代码
SELECT DISTINCT math FROM student;

//对math这列数据进行去重处理

5)排序:ORDER BY

sql 复制代码
SELECT * FROM student order by math;

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC

6)条件查询:WHERE

  1. 基本的条件查询

    sql 复制代码
    SELECT * FROM table_name WHERE condition;
    
    //在这个查询中,table_name 是你要查询的表名,condition 是你指定的条件。查询将返回满足条件的所有列。
  2. 条件运算符

    • =:等于
    • !=<>:不等于
    • <:小于
    • >:大于
    • <=:小于等于
    • >=:大于等于
    • BETWEEN:在指定范围内
    • IN:在指定值列表内
    • LIKE:模糊匹配
  3. 逻辑运算符

    • AND:逻辑与
    • OR:逻辑或
    • NOT:逻辑非
  4. 模糊查询

    • %:匹配零个或多个字符
    • _:匹配单个字符
  5. 限制结果集:LIMIT

sql 复制代码
// 从 0 开始,筛选 n 条结果
SELECT * FROM student  LIMIT n;

//从 s 开始,筛选 n 条结果
SELECT * FROM student  LIMIT s,n;

//从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT * FROM student  LIMIT n OFFSET s;

3.修改(Update)

sql 复制代码
UPDATE student SET math=math*2;

UPDATE student SET english=88 where name='小明';

4.删除(Delete)

sql 复制代码
// 删除小明的数据
DELETE FROM student WHERE name='小明';

// 删除整表数据
DELETE FROM student;
相关推荐
MonkeyKing_sunyuhua18 分钟前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青19 分钟前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)24 分钟前
MongoDB面试专题33道解析
数据库·mongodb·面试
小光学长1 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
掘金-我是哪吒1 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
零炻大礼包2 小时前
【SQL server】数据库远程连接配置
数据库
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
令狐少侠20112 小时前
explain执行计划分析 ref_
mysql
随心............2 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器