【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第1张图片

本文对MySQL数据库的基本操作(DDL、DML)进行了归纳总结,并介绍了基本数据类型以及与表相关的常用操作。
本文操作基于MySQL 8.0 以及 Navicat数据库可视化软件

文章目录

  • 1 MySQL数据库的基本操作-DDL
    • 1.1 DDL介绍
    • 1.2 对数据库的常用操作
      • 1.2.1 创建表
      • 1.2.2 对表的其他操作
      • 1.2.3 修改表结构格式
        • 1.2.3.1 添加列
        • 1.2.3.2 修改列名和类型
        • 1.2.3.3 删除列
        • 1.2.3.4 修改表名
    • 1.3 数据类型
      • 1.3.1 数值类型
      • 1.3.2 字符串类型
      • 1.3.3 日期类型
  • 2 MySQL数据库基本操作-DML
    • 2.1 DML介绍
    • 2.2 数据插入
    • 2.3 数据修改
    • 2.4 数据删除
  • 总结


1 MySQL数据库的基本操作-DDL

1.1 DDL介绍

DDL(Data Definition Language), 数据定义语言,该语言包括:

  • 对数据库的常用操作
  • 对表结构的常用操作
  • 修改表的结构

1.2 对数据库的常用操作

  • 表中语句中括号的部分可以省略,且不区分大小写
功能 SQL
查看所有数据库 show databases;
创建数据库 create database [if not exists] databasename [charset = utf8]
切换数据库 use databasename;
删除数据库 drop database [if exists] databasename;
修改数据库编码 alter database [if exists] databasename character set utf8;
  • 注释的两种方式:
# 这是一条注释
-- 这也是一条注释

1.2.1 创建表

  • 创建表是构建一张空表,指定这个表的名字,这个表的列数,列名,以及每一列存储的数据类型。
  • 创建表格式

create table [if not exists] 表名(
字段名1 类型[(宽度)] [约束条件] [comment ‘字段说明’],
字段名2 类型[(宽度)] [约束条件] [comment ‘字段说明’],
字段名3 类型[(宽度)] [约束条件] [comment ‘字段说明’]
)[表的设置];

  • 简单的例子:
 use databasename;
 create table if not exists student (
 	sid int,
 	name varchar(20),
 	gender varchar(20),
 	age int,
 	birth date,
 	address varchar(20),
 	score double
 );

1.2.2 对表的其他操作

功能 SQL
查看当前数据库的所有表名称 show tables;
查看某个表的创建语句 show create table 表名
查看表结构 desc 表名
删除表 drop table 表名

1.2.3 修改表结构格式

1.2.3.1 添加列

  • 语法格式:
    alter table 表名 add 列名 类型(长度)[约束];
  • 例子:
# 为student表添加一个新的字段为,系列dept类型为varchar(20)
ALTER TABLE student ADD dept VARCHAR(20);
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第2张图片

1.2.3.2 修改列名和类型

  • 语法格式:
    alter table 表名 change 旧列名 新列名 类型(长度) 约束;

  • 例子:

# 为student表的dept字段更换为department varchar(30)
ALTER TABLE student change dept department VARCHAR(30);
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第3张图片

1.2.3.3 删除列

  • 语法格式:
    alter table 表名 drop 列名;

  • 例子:

# 删除student表中department列
ALTER TABLE student DROP department;
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第4张图片

1.2.3.4 修改表名

  • 语法格式:
    rename table 表名 to 新表名;

1.3 数据类型

数据类型是指在创建表的时候为表中字段指定数据类型,只有数据类型符合类型要求才能存储起来。

  • 原则:够用为原则,尽可能使用取值范围小的,节省存储空间。

1.3.1 数值类型

  • 如需使用无符号,则在相应的数据类型后添加 unsigned
  • DECIMAL用法:decimal(M,D),有效位为M位,小数点后D位。
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1byte (-128, 127) (0, 255) 小整数值
SMALLINT 2bytes (-32768, 32767) (0, 65535) 大整数值
MEDIUMINT 3bytes (-8388608, 8388607) (0, 16777215) 大整数值
INT或INTEGER 4bytes (-2147483648, 2147483647) (0, 4294967295) 大整数值
BIGINT 8bytes (-9223372036854775808, 9223372036854775807) (0, 18446744073709551615) 极大整数值
FLOAT 4bytes (-3.402823466E+38, 3.402823466351E+38) 0, (1.175494351E-38, 3.402823466E+38) 单精度浮点数值
DOUBLE 8bytes (-1.7976931348623157E+308, 1.7976931348623157E+308) 0,(2.2250738585072014E-308, 1.7976931348623157E+308) 双精度浮点数值
DECIMAL 依赖于M和D的值 依赖于M和D的值 小数值

1.3.2 字符串类型

类型 大小 用途
CHAR 0-255bytes 定长字符串
VARCHAR 0-65535bytes 变长字符串
TINYBLOB 0-255bytes 不超过255个字符的二进制字符串
TINYTEXT 0-255bytes 短文本字符串
BLOB 0-65535bytes 二进制形式的长文本数据
TEXT 0-65535bytes 长文本数据
MEDIUMBLOB 0-16777215bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16777215bytes 中等长度文本数据
LONGBLOB 0-429467295bytes 二进制形式的极大文本数据
LONGTEXT 0-4294967295bytes 极大文本数据

1.3.3 日期类型

类型 大小 范围 格式 用途
DATE 3bytes 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3bytes ‘-838:59:59’/‘838:59:59’ HH:MM:SS 时间值或持续时间
YEAR 1byte 1901/2155 YYYY 年份值
DATETIME 8bytes 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合时间和日期值
TIMESTAMP 4bytes 1970-01-01 00:00:00/2038 结束时间是第2147483647秒,北京时间2038-1-19 11:14:07 YYYYMMDD HHMMSS 混合日期时间值,时间戳

2 MySQL数据库基本操作-DML

2.1 DML介绍

DML(Data Manipulation Language)是指数据库操作语言,用来对数据库中表的数据记录进行更新。
关键字:

  • 插入insert
  • 删除delete
  • 更新update

2.2 数据插入

  • 语法格式:

  • 向表中插入某些列:
    insert into 表 (列名1,列名2,列名3…) values (值1,值2,值3…);

  • 向表中插入所有列:
    insert intovalues (值1,值2,值3…);

  • 例子1,使用第一种方式,插入单行

# 向student表中插入一行数据,数据与列名一一对应
insert into student(sid, name, gender, age, birth, address, score) 
values(01, '祢豆子', '女', 12, '2010-12-28', '东京', 95.5);
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第5张图片

  • 例子2,使用第一种方式,插入多行
# 向student表中插入多行数据,数据与列名一一对应
insert into student(sid, name, gender, age, birth, address, score) 
values(01, '祢豆子', '女', 12, '2010-12-28', '东京', 95.5),
(02, '我妻善逸', '男', 16, '2006-09-03', '东京', 91),
(03, '灶门炭治郎', '男', 15, '2007-07-14', '东京', 88.5);
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第6张图片

  • 例子3,使用第二种方式:
# 插入蝴蝶忍的信息
insert into student values(04, '蝴蝶忍', '女', 18, '2004-02-24', '东京', 98.5);
  • 结果:

【MySQL8.0学习笔记】数据库的基本操作,DDL、DML,对表的常用操作(创建、增添、修改)_第7张图片

2.3 数据修改

  • 语法格式:
    update 表名 set 字段名 = 值,字段名 = 值…;
    update 表名 set 字段名 = 值,字段名 = 值… where 条件;
  • 例子:
-- 将所有的学生地址修改为北京
update student set address = '北京';
-- 将id为1的学生地址修改为西安
update student set address = '西安' where id = 1;
-- 将id为2的学生的地址修改为上海,成绩修改为100
update student set address = '上海', score = 100 where id = 2;

2.4 数据删除

  • 语法格式:
    delete from 表名 where 条件;
    truncate table 表名;
    truncate 表名;

  • 例子:
    注意: deletetruncate原理不同,delete只删除内容,而truncate类似于drop table,可以理解为是将整个表删除,然后再创建该表。

-- 1.删除sid为1的学生数据
delete from student where sid = 1;
-- 2.删除表所有数据
delete from student;
-- 3.清空表数据
truncate table student;
truncate student;

总结

本文对MySQL数据库的基本操作(DDL、DML)进行了归纳总结,并介绍了基本数据类型以及与表相关的常用操作;
建议以及问题欢迎私信及评论区;
本专栏学习笔记还会持续更新,点赞收藏加关注,下次查找不迷路!

你可能感兴趣的:(MySQL8.0学习笔记,数据库,mysql)