MySQL知识汇总(一)

一些命令行操作注意加 分号 " ; "

show databases 查看所有数据库

use 数据库名 切换数据库

show tables 查看数据库中所有表

describe 表名 显示表中所有信息

create database [if not exists] 新库名 创建数据库

drop database [if exists] 库名 删除数据库

exit 推出链接

SQL注释

--单行注释

/* */ 多行注释

数据库数据类型

数值类型

tinyint 非常小的数据 1个字节

smallint 2字节

mediumint 3字节

int 4字节常用

bigint 8字节

float 4字节 浮点数
字符串

char 0~255

varchar 0~65535常用

tinytext 微型文本 2^8-1

text 文本串2^16-1 常用于保存大文本
时间日期

date date格式 YYYY--MM--DD

time HH--mm--ss

datetime YYYY--MM--DD HH--mm--ss最常用时间格式

timestamp 时间戳1970.1.1到现在的毫秒数

year 年份表示

字段属性

Unsinged 无符号整数

勾选后该列内容不能为负数

zerofill 零填充,不足的位数用零补齐

自增 auto_increment 在上一条基础上默认加一,

与主键设置相关,可以自定义步长与自增起始值

非空not null 必须赋值,不能为null

默认值 不赋值为默认值
primary key (' ') 指定主键

创表格式

CREATE TABLE [IF NOT EXISTS] 表名(

列名 数据类型 [属性] [索引] [注释],

列名 数据类型 [属性] [索引] [注释],

.....

列名 数据类型 [属性] [索引] [注释],

列名 数据类型 [属性] [索引] [注释],

primary key (列名) 前面几句加逗号,最后结束那句不加

) [表类型] [字符集设置]

一些语句查询帮助

show create database 库名 --查看创建数据库语句

show create table 表名 --查看创表语句

DESC 表名 --查看表的结构

对数据表字段进行操作

-- 修改删除表

-- 修改表名

ALTER TABLE `student1` RENAME AS `teacher`

-- 增加表的字段

ALTER TABLE `teacher` ADD agg INT(12)

-- 修改表的字段(重命名与修改约束)

ALTER TABLE `teacher` MODIFY `name` VARCHAR(11) DEFAULT 'jackie' -- 修改约束modify

ALTER TABLE `teacher` CHANGE `agg` age INT(13) -- 重命名change

-- 删除表的字段

ALTER TABLE `teacher` DROP `age`

insert语句

-- insert into 表名(字段一,字段二....)values(值1,值2,值3....)

-- 插入一行数据

INSERT INTO `student2`(`name`,age,address,sex) VALUES('张阿生',19,'北京市','女')

-- 插入多行数据

INSERT INTO `student2`(`name`,age,address,sex) VALUES('李梅',39,'上海市','女'),('王二明',40,'深圳市','男'),('trump',78,'美国','男')

update语句

-- 不指定条件的情况下,修改所有项

UPDATE `student2` SET `name`='胡昕昕'

-- 指定条件修改某一项

UPDATE `student2` SET `name`='张牛' WHERE id=1

-- 修改多个属性,逗号隔开

UPDATE `student2` SET `name`='王世友' ,`age`=78 WHERE id=2

-- 使用多个条件定位数据,条件之间用and,or连接

UPDATE `student2` SET `name`='张三牛' WHERE id=3 OR age=78

关于update语句中的"条件",不仅包括常见的=,!=,>,<,>=,<=

还有between .. and .. AND OR这些

and和or相当于java中的&&与||

between..and是界定范围,对范围内的项进行相应修改

UPDATE `student2` SET `name`='王必细' WHERE id BETWEEN 1 AND 3

delete语句与truncate语句

delete from 表名 +条件

truncate table 表名

二者之间区别在于删除后自增量是否会重置

delete不会重置,truncate会

相关推荐
kfepiza16 分钟前
Debian用二进制包安装mysql8.0.41 笔记250401
数据库·笔记·mysql·debian·database
在努力的韩小豪26 分钟前
B树和B+树的区别(B Tree & B+ Tree)
数据结构·数据库·b树·b+树·索引·数据库索引
Watink Cpper37 分钟前
[MySQL初阶]MySQL(8)索引机制:下
android·数据库·b树·mysql·b+树·myisam·innodedb
freejackman1 小时前
MySQL 基础入门
数据库·后端·sql·mysql
二年级程序员1 小时前
SQL语句(一)—— DDL
数据库·sql·mysql
邴越1 小时前
不同向量数据库(FAISS / Pinecone / Weaviate)在 RAG 中的优缺点
数据库·faiss
Allen Bright1 小时前
【MySQL基础-21】MySQL事务机制详解:原理、实现与最佳实践
数据库·mysql
movie__movie2 小时前
Spring AI MCP 客户端实战:轻松连接高德地图等工具
数据库·人工智能·spring
清风19812 小时前
kafka消息可靠性传输语义
数据库·分布式·kafka
数据智能老司机4 小时前
CockroachDB权威指南——SQL调优
数据库·分布式·架构