mysql语句大全及用法

常用的MySQL语句和简要用法,以帮助你开始学习和使用MySQL。

连接数据库

sql 复制代码
mysql -u username -p

在命令行中使用以上命令来连接到MySQL数据库服务器。username 是你的MySQL用户名,执行后会提示输入密码。

显示数据库

sql 复制代码
SHOW DATABASES;

列出数据库服务器上的所有数据库。

选择数据库

sql 复制代码
USE database_name;

选择要操作的特定数据库。

显示数据表

sql 复制代码
SHOW TABLES;

显示当前数据库中的所有表。

显示表结构

sql 复制代码
DESCRIBE table_name;

显示数据表的列信息。

创建数据库

sql 复制代码
CREATE DATABASE database_name;

创建一个新的数据库。

删除数据库

sql 复制代码
DROP DATABASE database_name;

删除一个数据库。

创建表

sql 复制代码
CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
    ...
);

创建一个新表,指定列名和数据类型。

删除表

sql 复制代码
DROP TABLE table_name;

删除表。

插入数据

sql 复制代码
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

向表中插入数据。

查询数据

sql 复制代码
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column ASC|DESC
LIMIT number;

选择表中的数据,可以使用WHERE子句进行条件过滤,ORDER BY子句进行排序,LIMIT子句限制返回的记录数。

更新数据

sql 复制代码
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

更新表中的数据。

删除数据

sql 复制代码
DELETE FROM table_name WHERE condition;

从表中删除数据。

索引

sql 复制代码
-- 创建索引
CREATE INDEX index_name ON table_name (column1, column2, ...);

-- 删除索引
DROP INDEX index_name ON table_name;

创建或删除索引来优化查询。

用户和权限

sql 复制代码
-- 创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

-- 授权
GRANT ALL PRIVILEGES ON database_name.table_name TO 'username'@'host';

-- 刷新权限
FLUSH PRIVILEGES;

-- 撤销权限
REVOKE ALL PRIVILEGES ON database_name.table_name FROM 'username'@'host';

-- 删除用户
DROP USER 'username'@'host';

用于管理用户和权限。

事务控制

sql 复制代码
-- 开始事务
START TRANSACTION;

-- 提交事务
COMMIT;

-- 回滚事务
ROLLBACK;

用于控制事务的开始、提交和回滚。

表连接

sql 复制代码
SELECT columns
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

表连接用于结合两个或多个表中的行。

子查询

sql 复制代码
SELECT column_name [, column_name ]
FROM table1
WHERE column_name OPERATOR
    (SELECT column_name
     FROM table2
     WHERE condition);

子查询用于在另一个查询内部执行查询。

记住,这些只是MySQL中可用的许多SQL语句中的一部分。每个语句都可以根据需要进行高度定制,包括使用函数、更复杂的联结、子查询、视图、存储过程、触发器等。对于初学者来说,理解上述基本语句是一个良好的起点,随着经验的累积,你可以逐渐学习更复杂的功能和命令。

相关推荐
J_bean15 分钟前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean18 分钟前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X1 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.1 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠1 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
刀客Doc1 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
就叫飞六吧2 小时前
防抖、幂等、唯一约束三件套 ;
数据库
神奇霸王龙2 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
鲸采云SRM采购管理系统2 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
cfm_29142 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构