MySQL学习总结深入了解数据库的使用技巧
- 行业动态
- 2024-04-23
- 3043
MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司,MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
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)) + "
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/232611.html