基于Linux的MySQL全知识点详解
前提
在 Linux 上安装 MySQL 可以使用以下命令:
- 更新软件包索引:
sudo apt update
- 安装 MySQL 服务器:
sudo apt install mysql-server
- 启动 MySQL 服务:
sudo systemctl start mysql
- 设置 MySQL 自启动:
sudo systemctl enable mysql
- 检查 MySQL 服务状态:
sudo systemctl status mysql
安装完成后,可以使用以下命令登录 MySQL:
mysql -u 用户名 -p
mysql -uroot -p
输入密码:******(密码不显示)
其中,用户名
为你要登录的 MySQL 用户名。登录成功后,就可以开始使用 MySQL 数据库
创建数据库
create database 数据库名;
例:
CREATE DATABASE mydatabase; //要创建一个名为 "mydatabase" 的数据库
查看所有数据仓库
show databases;
例:
SHOW DATABASES; //显示 MySQL 数据库中所有的数据库
结果:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydatabase |
| mysql |
| performance_schema |
| sys |
+--------------------+
删除数据库
drop database 数据库名;
例:
DROP DATABASE mydatabase; //从 MySQL 中删除名为 "mydatabase" 的数据库及其所有内容
修改数据库属性
alter database 数据库名 character set 编码方式
例:
ALTER DATABASE mydatabase CHARACTER SET utf8mb4;
//将更改 "mydatabase" 数据库的字符集编码为 utf8mb4
切换数据库
use 数据库名;
例:
USE mydatabase; //切换为 "mydatabase" 的数据库
DDL:操作数据库--表
创建表
CREATE TABLE 表名 (
列名1 数据类型 [约束],
列名2 数据类型 [约束],
列名n 数据类型 [约束]
);
例:
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
//创建一个名为 "users" 的表,
id 列使用 INT 数据类型,具有 NOT NULL 约束和 AUTO_INCREMENT 属性;
name 和 email 列都使用 VARCHAR 数据类型,具有 NOT NULL 约束;
PRIMARY KEY 约束将 "id" 列设置为主键。
查看当前库中所有表
show tables;
增加表
ALTER TABLE 表名
ADD 列名 数据类型 [约束];
例:
ALTER TABLE users
ADD age INT; // "users" 表中添加一个名为 "age" 的新列,其数据类型为整数
删除表
如果你想要删除一个表,可以使用 DROP TABLE
命令,具体语法如下:
DROP TABLE 表名;
例:
DROP TABLE users; //永久删除名为 "users" 的表及其所有数据
要删除表中的某一列,可以使用 ALTER TABLE
命令的 DROP COLUMN
子句,具体语法如下:
ALTER TABLE 表名 DROP COLUMN 列名;
ALTER TABLE users DROP COLUMN age;
查询表的升降序
SELECT * FROM students ORDER BY age DESC;
//一个名为 students 的表格,按照 age 列的降序来获取所有学生的信息
修改表
ALTER TABLE 表名
MODIFY COLUMN 旧列名 新列名 新的数据类型;
例:
ALTER TABLE employees
MODIFY COLUMN age 年龄 INT;
//将修改 "employees" 表中的 "age" 列的名称为 "年龄",并将其数据类型修改为整数型(INT)
修改表名
ALTER TABLE 旧表名
RENAME TO 新表名;
例:
ALTER TABLE old_table
RENAME TO new_table; //将修改表名将 "old_table" 改为 "new_table"
修改表编码方式
ALTER TABLE 表名
CHARACTER SET 编码方式;
例:
ALTER TABLE my_table
CHARACTER SET utf8; //将修改 "my_table" 表的字符集编码方式为 UTF-8
DML:数据增删改
插入数据
INSERT INTO 表名 (列名1, 列名2)
VALUES (数值1, 数值2), (数值3, 数值4);
例:
INSERT INTO my_table (column1, column2)
VALUES (数值1, 数值2), (数值3, 数值4);
//向 "my_table" 表中插入两行数据,每行数据包含了 "column1" 和 "column2" 的值
修改数据
UPDATE 表名
SET 列名1 = 列值1, 列名2 = 列值2, ...
WHERE 列名 = 值;
例:
UPDATE students
SET age = 23, grade = 'B'
WHERE name = 'Charlie';
//将名为 "Charlie" 的学生的年龄更新为23岁,同时将其成绩更新为B
删除数据
DELETE FROM my_table WHERE 列名 = 值;
例:
DELETE FROM employees WHERE salary = 7000; //删除工资为7000的员工记录
未完待续。。。。。。。。。。
路漫漫其修远兮
吾将上下而求索