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会

相关推荐
web3.088899912 小时前
tb关键词API接口——解锁独一无二的商品
java·数据库·https
黄昏晓x12 小时前
数据库 ---- 表的约束
android·数据库
Elastic 中国社区官方博客12 小时前
使用 Elastic Observability 和 MCP 的 Agentic 驱动 Kubernetes 调查
数据库·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
阿正的梦工坊12 小时前
DOCKER_DATABASE_URL 逐段解析:部署时候的信息解析
数据库·docker·容器
倒流时光三十年12 小时前
PostgreSQL 大表字段扩长度 -- 会不会锁表?
数据库·postgresql
Irene199113 小时前
(AI总结版)完整操作流程:从零配置 Oracle 21c XE 开发环境(安装 CO 示例、安装 SCOTT 教学示例)
数据库·oracle
Han.miracle13 小时前
Spring Cloud + Nacos 环境切换与配置管理最佳实践
数据库·spring boot·spring cloud·maven
p@nd@13 小时前
DM删除用户后的不完全恢复测试
数据库·达梦数据库·备份还原·备份恢复
在屏幕前出油13 小时前
08. ORM——快速开始
数据库·后端·python·sql·pycharm·orm
lzhdim13 小时前
SQL 入门 11:日期时间格式化、IF、CASE的使用
数据库·sql