首页 > 数据库 >【第1篇】mysql语句大全及用法

【第1篇】mysql语句大全及用法

时间:2024-08-10 22:24:48浏览次数:16  
标签:语句 name column 使用 mysql table SELECT 大全

【第1篇】mysql语句大全及用法

【第1篇】mysql语句大全及用法

【第1篇】mysql语句大全及用法

MySQL是一种流行的关系型数据库管理系统,它提供了一系列的SQL语句来操作数据库。以下是一些常用的MySQL语句及其用法:

1. 创建数据库

CREATE DATABASE database_name;

2. 选择数据库

USE database_name;

3. 创建数据表

CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);

4. 插入数据

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

5. 查询数据

SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column];

6. 更新数据

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

7. 删除数据

DELETE FROM table_name
WHERE condition;

8. 修改数据表结构

  • 添加列:
ALTER TABLE table_name
ADD column_name datatype;
  • 删除列:
ALTER TABLE table_name
DROP COLUMN column_name;
  • 修改列的数据类型:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
  1. 创建索引
CREATE INDEX index_name
ON table_name (column);

10. 删除索引

DROP INDEX index_name
ON table_name;

11. 创建视图

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

12. 删除视图

DROP VIEW view_name;

13. 创建存储过程

CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;

14. 调用存储过程

CALL procedure_name();

15. 创建触发器

CREATE TRIGGER trigger_name
trigger_time trigger_event
ON table_name FOR EACH ROW
BEGIN
-- SQL statements
END;
  1. 删除触发器
DROP TRIGGER trigger_name;

17. 备份数据库

mysqldump -u username -p database_name > backup.sql

18. 恢复数据库

mysql -u username -p database_name < backup.sql

19. 分组数据

SELECT column1, SUM(column2)
FROM table_name
GROUP BY column1;

20. 连接(JOIN)数据表

  • 内连接:
SELECT *
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
  • 左连接:
SELECT *
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
  • 右连接:
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

21. 使用子查询

SELECT *
FROM table_name
WHERE column_name IN (SELECT column_name FROM sub_table WHERE condition);

22. 使用UNION合并查询结果

SELECT column_name FROM table1
UNION
SELECT column_name FROM table2;

23. 使用HAVING过滤分组后的结果

SELECT column1, SUM(column2)
FROM table_name
GROUP BY column1
HAVING SUM(column2) > value;

24. 使用事务

  • 开始事务:
START TRANSACTION;
  • 提交事务:
COMMIT;
  • 回滚事务:
ROLLBACK;

25. 设置字符集

SET NAMES 'utf8';

26. 显示数据库列表

SHOW DATABASES;

27. 显示数据表结构

DESC table_name;

28. 显示创建数据表的SQL语句

SHOW CREATE TABLE table_name;

29. 显示数据表列表

SHOW TABLES;

30. 显示字段信息

SHOW COLUMNS FROM table_name;

31. 显示索引信息

SHOW INDEX FROM table_name;

32. 显示当前用户

SELECT CURRENT_USER();

33. 显示当前时间

SELECT NOW();

34. 使用LIMIT限制结果数量

SELECT *
FROM table_name
LIMIT 10;

35. 使用LIKE进行模式匹配

SELECT *
FROM table_name
WHERE column_name LIKE '%pattern%';

36. 使用正则表达式

SELECT *
FROM table_name
WHERE column_name REGEXP 'pattern';

37. 使用CASE WHEN进行条件选择

SELECT column_name,
CASE
WHEN condition THEN result1
WHEN another_condition THEN result2
ELSE default_result
END AS new_column_name
FROM table_name;

38. 使用COUNT进行计数

SELECT COUNT(*) FROM table_name;

39. 使用DISTINCT获取唯一值

SELECT DISTINCT column_name FROM table_name;

40. 使用AS给列或表重命名

SELECT column_name AS new_column_name
FROM table_name AS new_table_name;

41. 使用FULLTEXT索引进行全文搜索

ALTER TABLE table_name ADD FULLTEXT(column_name);
SELECT * FROM table_name WHERE MATCH(column_name) AGAINST ('search string');

42. 使用存储函数

CREATE FUNCTION function_name (param1 datatype, ...)
RETURNS datatype
BEGIN
-- SQL statements
RETURN result;
END;

43. 使用事件调度器

CREATE EVENT event_name ON SCHEDULE EVERY interval_unit ENDS ENDS
DO
BEGIN
-- SQL statements
END;

44. 使用外键约束

CREATE TABLE child_table (
column_name INT,
FOREIGN KEY (column_name) REFERENCES parent_table(column_name)
);

45. 使用CHECK约束(MySQL 8.0.16及以上版本支持):

CREATE TABLE table_name (
column_name INT CHECK (column_name > 0)
);

46. 使用JSON数据类型(MySQL 5.7及以上版本支持):

CREATE TABLE table_name (
column_name JSON
);
SELECT JSON_EXTRACT(column_name, '$.key') FROM table_name;

47. 使用XA事务进行分布式事务处理(需要InnoDB存储引擎支持):

XA START 'transaction_label';
-- SQL statements
XA END 'transaction_label';
XA PREPARE 'transaction_label';
XA COMMIT 'transaction_label';

48. 使用分区表

CREATE TABLE table_name (
column1 datatype,
column2 datatype
)
PARTITION BY RANGE (column1) (
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20)
);

49. 使用性能模式

SET profiling = 1;
-- SQL statements
SELECT * FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID = your_query_id;

50. 使用缓存机制

-- MySQL查询缓存在5.7.5版本中已被移除,但可以手动实现缓存逻辑
SELECT SQL_CACHE column_name FROM table_name;

51. 使用角色(MySQL 8.0及以上版本支持):

-- 创建角色
CREATE ROLE role_name;
-- 将角色授予用户
GRANT role_name TO 'user'@'host';

52. 使用SSL连接

-- 配置MySQL服务器以使用SSL
-- 客户端连接
mysql -u username -p --host=hostname --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem

53. 使用条件编译

-- 根据MySQL版本执行不同的SQL语句
/*!50106 SET @var := 1; */ /* 在MySQL 5.1.6及以上版本中设置变量 */

54. 使用信息模式表

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name';

55. 使用性能模式的系统变量

SHOW VARIABLES LIKE 'performance_schema';

56. 使用服务器状态变量

SHOW STATUS LIKE 'Innodb_rows%';

57. 使用插件

INSTALL PLUGIN plugin_name SONAME 'plugin_library';
UNINSTALL PLUGIN plugin_name;

58. 使用二进制数据类型

CREATE TABLE table_name (
column_name BLOB
);
SELECT column_name FROM table_name WHERE condition;

59. 使用空间数据类型

CREATE TABLE table_name (
column_name GEOMETRY
);
SELECT ST_AsText(column_name) FROM table_name;

60. 使用加密函数

SELECT AES_ENCRYPT('data', 'key');
SELECT AES_DECRYPT(encrypted_data, 'key');

总结

《mysql语句大全及用法》总15篇,全面介绍了MySQL数据库管理系统中丰富的SQL语句及其用法,覆盖了从基础的数据库和表操作到高级的查询优化、数据安全、性能监控、分布式事务处理等各个方面。

【第1篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936074

【第2篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936180

【第3篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936304

【第4篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936767

【第5篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936862

【第6篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140936963

【第7篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140937107

【第8篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140937211

【第9篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140938614

【第10篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140938752

【第11篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140938802

【第12篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140938865

【第13篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140938996

【第14篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140939180

【第15篇】mysql语句大全及用法
https://pythonlaolv.blog.csdn.net/article/details/140939273

这些语句不仅包括了数据定义语言(DDL)如创建(CREATE)、修改(ALTER)、删除(DROP)数据库和表,还包括了数据操纵语言(DML)如插入(INSERT)、查询(SELECT)、更新(UPDATE)、删除(DELETE)等操作。

此外,文中还详细探讨了MySQL的以下高级特性:

  • 索引管理:如何创建、删除和修改索引,以及使用全文索引和空间数据类型。
  • 视图和存储过程:创建和管理视图以及编写和调用存储过程。
  • 触发器和事件:使用触发器自动执行特定操作和计划事件的执行。
  • 备份与恢复:如何对数据库进行备份和恢复操作。
  • 复制配置:设置主从复制以提高数据的可用性。
  • 性能分析:使用EXPLAINSHOW PROFILE等命令分析查询性能。
  • 用户和权限管理:创建用户、角色,以及授予和撤销权限。
  • 资源限制:对用户资源使用进行限制和管理。
  • SSL连接:配置和使用SSL加密连接。
  • 插件管理:安装和卸载插件以扩展MySQL功能。
  • 二进制日志和中继日志:管理用于复制和恢复操作的日志文件。
  • 分区表:对大型表进行分区以优化查询和管理。
  • 序列:使用MySQL 8.0及以上版本引入的序列功能。
  • 服务器状态和系统变量:查看和设置影响MySQL服务器运行的变量。
  • 插件和存储引擎选项:设置特定存储引擎的选项以优化性能。
  • 分布式事务:使用XA事务处理跨多个数据库的事务。
  • 角色和默认角色:在MySQL 8.0及以上版本中使用角色和设置默认角色。

文中还提到了一些假设性命令,它们可能代表MySQL未来版本中可能出现的特性或当前版本中不常用的功能。这些命令展示了MySQL持续发展和创新的能力,以及其在数据库领域的广泛应用前景。

MySQL作为一种强大的关系型数据库管理系统,提供了广泛的功能和灵活的操作,以满足不同用户和应用场景的需求。掌握这些SQL语句及其用法对于数据库管理员和开发者来说至关重要,有助于高效地进行数据库管理和操作。

标签:语句,name,column,使用,mysql,table,SELECT,大全
From: https://blog.csdn.net/molangmolang/article/details/140936074

相关文章

  • mysql基础知识
    MySql基础知识#1.创建数据库:createdatabasemydata;(你所要建的数据库名)2.使用数据库usemydata;(说明:在使用数据库的前一定要加这个use语句,否则会出现没有数据库被选择)3.查看所有数据库showdatabases;4.查看该数据库的所有的表名showtables;5.删除数据库......
  • mysql load data file 批量导入数据
    mysql大量数据导入记录工作需要将大量数据导入到mysql中,但是数据量很大且几十个文本数据,每次导入的数据量有限制,所以需要分批导入。为了快速导入记录下使用loaddatainfile方式。1.SQL入数据语句先将数据传入/var/lib/mysql/test/路径mysql>loaddatainfile"/var/li......
  • MYSQL导出数据和导入数据命令
    MYSQL导出数据和导入数据命令网上也很多,我还是记录一下在我的博客里面,自己好查看MYSQL导出数据命令1.导出整个数据库mysqldump-u用户名-h数据库IP地址-p密码数据库名>备份的名称.sql测试账号如下:数据库名:web_user数据库IP:192.168.8.110用户名:root密码:root导出整......
  • mysql优化-索引失效场景
    1.索引字段不独立索引字段进行了表达式计算事先计算好表达式的值,再传过来,避免在SQLwhere条件=的左侧做计算select*fromemployeeswhereemp_no+1=10003;select*fromemployeeswhereemp_no=10002;索引字段是函数的参数预先计算好结果,再传过来,在where条件的......
  • MySQL基础详解(2)
    文章目录多表查询MySQL函数数字函数字符串函数日期函数高级函数使用Python操作MySQL1、安装第三方模块pymysql2、操作MySQLMySQL中的多表查询是数据库操作中非常常见且重要的一个环节,多表查询是数据库查询中非常强大的功能,能够让你根据需要从多个表中提取和组合数......
  • MySQL基础详解(1)
    文章目录Sql1.什么是Sql2、SQL通用语法3、SQL分类DDL:操作数据库、表3.1操作数据库:CRUD3.2操作表CRUDDML:增删改表中数据1.添加数据:2.删除数据:3.修改数据:DQL:查询表中的记录1.语法:2.基础查询3.条件查询4.排序查询其他函数5.聚合函数6.分组查询7.分页查询:DCL:管理用户......
  • MySQL的安装
    文章目录在线安装方式离线安装方式1、卸载已有的MySQL文件2、安装mysql3、后续命令修改字符集MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,后来被SunMicrosystems收购,并最终归属于Oracle公司。MySQL因其高性能、可靠性、扩展性和安全性而广......
  • openai 的各个模型比较(关于英语句子解析)
    最近在使用chatgpt帮助学习英语,主要是进行语法分析和难点解释。为了找到最适合的模型,我比较了多个模型的回答。语法分析问题这是我在实际中理解有困难的句子,尽管比较简短,但从内容上理解,它涉及了倒装。各个模型回答gpt-3.-5-turbo-1106是经过微调的3.5-turbogpt-4o-m......
  • MySQL高级知识-----Explain
    Explainexplain(执行计划),使用explain关键字可以模拟优化器执行sql查询语句,从而知道MySQL是如何处理sql语句。explain主要用于分析查询语句或表结构的性能瓶颈。1.explain的作用通过explain+sql语句可以知道如下内容:1.表的读取顺序。(对应id)......
  • MySQL实战攻略
    1.数据库概述1.1聊聊数据库数据库是一门独立的学科,只要是做软件开发的,数据库都要学。数据库(电子化的文件柜)是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。它的存储空间很大,可以存放百万条......