当前位置:首页 > 行业动态 > 正文

MySQL学习总结深入了解数据库的使用技巧

MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司,MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

MySQL学习总结深入了解数据库的使用技巧  第1张

MySQL的安装与使用

1、下载MySQL安装包

访问MySQL官网(https://www.mysql.com/)下载对应操作系统的安装包。

2、安装MySQL

根据下载的安装包进行安装,按照提示完成安装过程。

3、启动MySQL服务

安装完成后,需要在计算机上启动MySQL服务,可以通过以下两种方式启动:

通过Windows服务管理器启动:打开“控制面板” > “管理工具” > “服务”,找到“MySQL”服务并启动。

通过命令行启动:打开命令提示符,输入以下命令启动MySQL服务:net start mysql。

4、登录MySQL

通过命令行登录MySQL,输入以下命令:mysql u root p,然后输入密码。

数据库的基本操作

1、创建数据库

使用以下命令创建数据库:

CREATE DATABASE 数据库名;

创建一个名为testdb的数据库:

CREATE DATABASE testdb;

2、删除数据库

使用以下命令删除数据库:

DROP DATABASE 数据库名;

删除名为testdb的数据库:

DROP DATABASE testdb;

3、显示所有数据库

使用以下命令显示所有数据库:

SHOW DATABASES;

4、选择数据库

使用以下命令选择要使用的数据库:

USE 数据库名;

选择名为testdb的数据库:

USE testdb;

5、创建表

使用以下命令创建表:

CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型, ...);

创建一个名为students的表:

CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(20), age INT);

6、删除表

使用以下命令删除表:

DROP TABLE 表名;

删除名为students的表:

DROP TABLE students;

7、显示所有表

使用以下命令显示所有表:

SHOW TABLES;

8、插入数据

使用以下命令插入数据:

INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);

向名为students的表中插入一条数据:

INSERT INTO students (id, name, age) VALUES (1, '张三', 18);

9、查询数据

使用以下命令查询数据:

SELECT FROM 表名; 查询所有数据,*表示所有列名,可以替换为具体的列名,以查询指定列的数据,例如SELECT id, name FROM students; 查询id和name两列的数据,WHERE条件用于筛选数据,SELECT FROM students WHERE age > 18; 查询年龄大于18的学生信息,ORDER BY用于对查询结果进行排序,例如SELECT FROM students ORDER BY age DESC; 按年龄降序排列学生信息,LIMIT用于限制查询结果的数量,例如SELECT FROM students LIMIT 10; 查询前10条学生信息,GROUP BY用于对查询结果进行分组,例如SELECT age, COUNT(*) FROM students GROUP BY age; 按年龄分组统计学生数量,HAVING用于对分组后的结果进行筛选,SELECT age, COUNT(*) FROM students GROUP BY age HAVING age > 18; 按年龄分组统计年龄大于18的学生数量,JOIN用于连接多个表,SELECT students.name, scores.score FROM students INNER JOIN scores ON students.id = scores.student_id; 查询学生的姓名和成绩信息,DISTINCT用于去除重复数据,SELECT DISTINCT name FROM students; 查询不重复的学生姓名,LIKE用于模糊查询,SELECT FROM students WHERE name LIKE '张%'; 查询名字以“张”开头的学生信息,AS用于给列设置别名,例如SELECT id AS student_id, name AS student_name FROM students; 查询学生ID和姓名,并为ID和姓名设置别名,子查询是指在一个查询语句中嵌套另一个查询语句,SELECT FROM students WHERE id IN (SELECT id FROM scores); 查询成绩不为空的学生信息,UNION用于合并两个查询结果,例如SELECT FROM students UNION ALL SELECT * FROM teachers; 合并学生和教师信息,EXCEPT用于去除两个查询结果的重复数据,例如SELECT FROM students EXCEPT SELECT * FROM teachers; 查询学生信息,去除教师信息中的重复数据,INTERSECT用于保留两个查询结果的重复数据,例如SELECT FROM students INTERSECT SELECT * FROM teachers; 查询既包含学生又包含教师的信息,CROSSJOIN用于将两个表的所有行进行笛卡尔积运算,例如SELECT FROM students CROSSJOIN teachers; 计算学生和教师的笛卡尔积运算结果,IS NULL和IS NOT NULL用于判断某个字段是否为空,例如SELECT FROM students WHERE age IS NULL; 查询年龄为空的学生信息,BETWEEN用于筛选某个字段在某个范围内的数据,例如SELECT FROM students WHERE age BETWEEN 18 AND 22; 查询年龄在18到22之间的学生信息,LIKE用于模糊匹配某个字段的值,例如SELECT FROM students WHERE name LIKE '张%'; 查询名字以“张”开头的学生信息,NOT LIKE用于排除模糊匹配某个字段的值,例如SELECT FROM students WHERE name NOT LIKE '张%'; 查询名字不以“张”开头的学生信息,ESCAPE用于转义特殊字符,例如SELECT FROM students WHERE name LIKE '张%' ESCAPE '\'; 根据反斜杠转义“”,查询名字以“张”开头且中间有一个反斜杠的学生信息,REGEXP用于正则表达式匹配某个字段的值,例如SELECT FROM students WHERE name REGEXP '^张'; 根据正则表达式匹配名字以“张”开头的学生信息,CONCAT用于连接两个字段的值,例如SELECT name || '(' || age ||')' AS full_info FROM students; 根据姓名和年龄生成完整的信息字符串,SUBSTRING用于截取某个字段的部分值,SELECT substring(name,1,3) AS first_name FROM students; 根据姓名截取前三个字符作为名字的前缀,LENGTH用于获取某个字段的长度,SELECT length(name) AS name_length FROM students; 根据姓名获取长度作为名字的长度属性,UPPER和LOWER用于将某个字段的值转换为大写或小写形式,SELECT upper(name) AS upper_name, lower(name) AS lower_name FROM students; 根据姓名获取大写和小写形式的名字属性,DATE和NOW用于获取当前日期和时间,SELECT date() AS current_date, now() AS current_time FROM students; 根据当前日期和时间生成相应的日期和时间属性,COUNT和SUM用于对某个字段的值进行计数和求和操作,SELECT count(*) AS student_count, sum(age) AS total_age FROM students; 根据学生数量和年龄总和生成相应的计数和求和属性,AVG用于计算某个字段的平均值。= " + str(num)) + "
0

随机文章