mysql命令
Sql语言备忘录
数据库
创建数据库
CREATE DATABASE db_name //创建名称为db_name数据库
CREATE DATABASE `CREATE` //在创建数据库、表的时候,为了规避关键字,可以使用反引号解决(键盘esc按键下面的引号)
CREATE DATABASE IF NOT EXISTS db_name //创建名称为db_name数据库,当它不存在的时候:避免返回错误
CREATE DATABASE db_name CHARACTER SET utf8 //创建名称为db_name,使用utf8字符集的数据库
CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_bin //创建名称为db_name,使用utf8字符集,使用utf8_bin写校对规则的数据库
//utf8_bin区分大小,默认为utf8_general_ci不区分大小写
删除数据库【慎用】
DROP DATABASE db_name //删除名称为db_name数据库
DROP DATABASE IF EXISTS db_name //删除名称为db_name数据库如果存在:避免返回错误
展示数据库
SHOW DATABASES // 展示所有数据库
SHOW CREATE DATABASE db_name // 展示原先创建数据库语句是什么
选择数据库
use db_name // 展示所有数据库
备份数据库
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 文件名.sql(可以带路径) // dos命令下执行
// 备份文件就是对应的sql语句集合
恢复数据库s
source 文件名.sql(可以带路径) // 进入Mysql命令下执行
表
创建数据表
CREATE TABLE table_name
(
file1 datatype,
filed datatpye,
filed datatype
)CHARACTER SET 字符集 COLLATE 校对规则 ENGINE 引擎
filed:指定列名
datatype:指定列类型(字段类型)
CHARACTER SET 如果不指定则为所在数据库字符集
COLLATE 如果不指定则为所在数据库校对规则
ENGINE 涉及太多,后续补充
完整语句:CREATE TABLEuser
(id INT,name
VARCHAR(255),passward VARCHAR(32),birthday DATE)CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB
注意:字段类型后面可以追加unsigned关键字声明无符号位,让类型表示值范围更大字段属性关键字(根据需要添加)
不为空 NOT NULL
默认值 DEFAULT ''
在X字段之后 afterX
备份数据表
mysqldump -u 用户名 -p 数据库 表1 表2 表n > 文件名.sql(可以带路径) // dos命令下执行
备份数据表
source 文件名.sql(可以带路径) // 进入Mysql命令下执行,注意先use目标数据库,就是先选择你需要放表的数据库
删除数据表【慎用】
DROP TABLE
test_db
.student
; //删除test_db数据库下的student表
修改数据表
添加列
ALTER TABLE tablename
ADD colum datatype [DEFAULT expr][, colum datatype]...修改列
ALTER TABLE tablename
MODIFY colum datatype [DEFAULT expr][, colum datatype]...删除列
ALTER TABLE tablename
DROP colum修改表名
RENAME TABLE 表名 TO 新表名修改字符集
ALTER TABLE 表名 CHARACTER SET 字符集修改列名
alter table employee change 原来列名 新列名 varchar(32) not null default '';
展示表结构
desc 表名
C(create)R(read)U(update)D(delete)
insert(添加数据)
INSERT INTO table_name [(COLUMN [,COLUMN,COLUMN])] VALUES (VALUE[,value....])
细节:column预values对数要一致(全插入时可不写、values可以多个、column可以是表中一部分字段前提是其他没提到的字段允许为空或有默认值)Update(更新数据)-慎用
UPDATE table_name SET column_name1=expr1 [, column_name2=expr2] [WHERE where_definition]
细节:没有where条件代表所有数据Delete(删除数据)-慎用
DELETE FROM tb1_name [WHERE where_definition]
细节:没有where条件代表所有数据Select(查找数据)
列类型(即Mysql的数据类型)
时间戳类型字段后缀演示
field
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
时间戳类型字段后缀演示案例:时间戳非空更新当前时间戳时的默认当前时间戳
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?