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;
相关推荐
没书读了1 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i1 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl1 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502772 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空2 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
Oak Zhang3 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
聂 可 以3 小时前
Windows环境安装MongoDB
数据库·mongodb
web前端神器3 小时前
mongodb多表查询,五个表查询
数据库·mongodb
门牙咬脆骨3 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨4 小时前
【Redis】GEO数据结构
数据库·redis·缓存