MySQL入门到精通

2024-09-09 05:12
文章标签 mysql 入门 精通 database

本文主要是介绍MySQL入门到精通,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、创建数据库

CREATE DATABASE 数据库名称;

如果数据库存在,则会提示报错。

二、选择数据库

USE 数据库名称;

三、创建数据表

CREATE TABLE 数据表名称;

四、MySQL数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串类型

4.1 数值类型

数值类型
类型大小用途
INT4Bytes整数值
FLOAT4Bytes单精度
DOUBLE8Bytes

双精度

4.2 字符串类型

字符串类型
类型用途
CHAR定长字符串
VARCHAR变长字符串

4.3 日期和时间类型

五、MySQL插入数据

INSERT INTO table_name (column1,column2,column3)

VALUES (value1,value2,value3)

六、查询数据库

SHOW DATABASES;

七、查询数据表

SELECT * FROM users;

八、MySQL WHERE子句

语法:

SELECT column1,column2

FROM table_name

WHERE condition;

参数说明:

column1,column2是显示列的名称

table_name是你选择查询数据的表的名称

WHERE condition是用于指定过滤条件的子句

WHERE简单实例:

1、等于条件

SELECT * FROM users WHERE username = 'test';

2、不等于条件

SELECT * FROM users WHERE username != 'test';

3、大于条件

SELECT * FROM products WHERE price > 50.00;

4、小于条件

SELECT * FROM orders WHERE order_date < '2023-01-01';

5、大于等于条件

SELECT * FROM employees WHERE salary >= 50000;

6、小于等于条件

SELECT * FROM students WHERE age <= 21;

7、组合条件

SELECT * FROM products WHERE category = 'Electronics' AND price > 100.00;

SELECT * FROM orders WHERE order_date >= '2023-01-01' OR total_amount > 1000.00;

8、模糊匹配条件

SELECT * FROM customers WHERE first_name LIKE 'J%';

9、IN条件

SELECT * FROM countries WHERE country_code IN ('US','CA','MX');

10、NOT条件

SELECT * FROM products WHERE NOT category = 'Clothing';

11、BETWEEN条件

SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-32';

12、IS NULL条件

SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

13、IS NOT NULL条件

SELECT * FROM customers WHERE email IS NOT NULL;

九、MySQL UPDATE更新

UPDATE table_name

SET column1 = value1,column2 = value2

WHERE condition

参数说明:

table_name是更细数据的表的名称

column1,column2是更新的列的名称

value1,value2是新的值,用于替换旧的值

WHERE condition是一个可选的子句

实例

1、更新单个列的值:

UPDATE employees

SET salary = 60000

WHERE employee_id = 101

2、更新多个列的值:

UPDATE orders 

STE status = 'Shipped', ship_date = '2023-03-01'

WHERE order_id = 1001;

3、使用表达式更新值

UPDATE products

SET price = price * 1.1

WHERE category = 'Electronics'

4、更新使用子查询的值

UPDATE customers 

SET total_purchases = (

        SELECT SUM(amount)

        FROM orders

        WHERE orders.customer_id = customers.customer_id

)

WHERE customer_type = 'Premium';

十、MySQL DELETE语句

语法:

DELETE FROM table_name

WHERE condition;

参数说明:

table_name是删除数据的表的名称

WHERE condition是一个可选的子句。

实例

1、删除复合条件的行

DELETE FROM students

WHERE graduation_year = 2021;

2、删除所有行

DELETE FROM orders;

3、使用子查询删除复合条件的行

DELETE FROM customers

WHERE customer_id IN(

              SELECT customer_id

              FROM orders 

              WHERE order_date < '2023-01-01'

);

十一、MySQL LIKE子句

%通配符表示零个或多个字符;_通配符表示一个字符;不区分大小写的匹配

实例:

SELECT * FROM customers WHERE last_name LIKE 'S%';

SELECT * FROM products WHERE product_name LIKE '_a%';

十二、MySQL ORDER BY(排序)语句

语法:

SELECT column1,column2

FROM table_name

ORDER BY column1 [ASC | DESC], column2 [ASC | DESC]

1.单列排序:

SELECT * FROM products

ORDER BY products_name ASC;

2.多列排序:

SELECT * FROM employees

ORDER BY department_id ASC,hire_date DESC;

3.使用数字表列列的位置

ORDER BY 3 DESC, 1 ASC;

十三、MySQL GROUP BY语句

GROUP BY语句根据一个或多个列对结果集进行分组

SELECT customer_id, SUM(order_amount) AS total_amount

FROM orders 

GROUP BY customer_id;

十四、MySQL UNION操作符

描述

MySQL UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集合,并去除重复的行。

语法

SELECT column1,column2

FROM table1

WHERE condition1

UNION

SELECT column1,column2

FROM table2

WHERE condition2

ORDER BY column1,column2

实例

1、基本的UNION操作

SELECT city FROM customers

UNION

SELECT city FROM suppliers

ORDER BY city;

2、使用过滤条件的UNION

SELECT product_name FROM products WHERE category = 'Electronics'

UNION

SELECT product_name FROM products WHERE category = 'Clothing'

ORDER BY product_name

3、UNION操作中的列数和数据类型必须相同

SELECT first_name,last_name FROM employees

UNION

SELECT department_name,NULL FROM departments

ORDER BY first_name;

4、使用UNION ALL不去除重复行

SELECT city FROM customers

UNION ALL

SELECT city FROM suppliers

ORDER BY city;

十五、MySQL连接的使用

INNER JOIN(内连接):获取两个表中字段匹配关系的记录

LEFT JOIN(左连接):获取左表所有记录

RIGHT JOIN(有连接):获取右表所有记录

INNER JOIN

1、简单的INNER JOIN:

SELECT orders.order_id,customers.customer_name

FROM orders

INNER JOIN customers ON orders.customer_id = customers.customer_id;

2、多表INNER JOIN:

SELECT orders.order_id,customers.customer_name,products.product_name

FROM orders

INNER JOIN customers ON orders.customer_id = customers.customer_id

INNER JOIN order_items ON orders.order_id = order_items.order_id

INNER JOIN products ON order_items.product_id = products.product_id;

3、使用WHERE子句进行过滤

SELECT orders.order_id,customers.customer_name

FROM orders

INNER JOIN customers ON orders.customer_id = customers.customer_id

WHERE orders.order_date >= '2023-01-01';

LEFT JOIN

1、简单的LEFT JOIN:

SELECT orders.order_id,customers.customer_name

FROM orders

LEFT JOIN customers ON orders.customer_id = customers.customer_id;

2、多表LEFT JOIN:

SELECT orders.order_id,customers.customer_name,products.product_name

FROM orders

LEFT JOIN customers ON orders.customer_id = customers.customer_id

LEFT JOIN order_items ON orders.order_id = order_items.order_id

LEFT JOIN products ON order_items.product_id = products.product_id;

3、使用WHERE子句进行过滤

SELECT orders.order_id,customers.customer_name

FROM orders

LEFT JOIN customers ON orders.customer_id = customers.customer_id

WHERE orders.order_date >= '2023-01-01';

RIGHT JOIN和LEFT JOIN使用方法是一样的。

十六、MySQL ALTER命令

描述:当我们需要修改数据表名或者数据表字段时,就需要使用到MySQL ALTER命令

1、添加列

ALTER TABLE table_name

ADD COLUMN new_column_name datatype;

实例

ALTER TABLE employees

ADD COLUMN birth_date DATE;

2、修改列的数据类型

ALTER TABLE TABLE_NAME

MODIFY COLUMN column_name new_datatype

实例

ALTER TABLE employees

MODIFY COLUM salary DECIMAL(10,2);

3、修改列名

ALTER TABLE table_name

CHANGE COLUMN old_column_name new_column_name datatype;

实例

ALTER TABLE employees

CHANGE COLUMN old_column_name new_column_name VARCHAR(255);

4、删除列

ALTER TABLE table_name

DROP COLUMN column_name;

实例

ALTER TABLE employees

DROP COLUMN birth_date;

5、添加PRIMARY KEY

ALTER TABLE table_name

ADD PRIMARY KEY (column_name);

实例

ALTER TABLE employees

ADD PRIMARY KEY (employee_id)

6、添加FOREIGN KEY

ALTER TABLE child_table

ADD CONSTRAINT fk_name

FOREIGN KEY (column_name)

REFERENCES parent_table (column_name)

实例

ALTER TABLE orders

ADD CONSTRAINT fk_customer

FOREIGN KEY (customer_id)

REFERENCES customers (customer_id)

7、修改表名

ALTER TABLE old_table_name

RENAME TO new_table_name;

实例ALTER TABLE employees

RENAME TO staff;

十七、MySQL处理重复数据

SELECT DISTINCT last_name,first_name

FROM person_tb1;

十八、MySQL删除数据库

drop命令删除数据库

DROP DATABE <datatbase_name>

十九、MySQL删除数据表

DROP TABLE table_name;

这篇关于MySQL入门到精通的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1150258

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu