Mysql
安装
shell
sudo apt update
# 安装
sudo apt install mysql-server
# 启动 mysql 服务
sudo systemctl start mysql
# 设置 MySQL 服务在系统启动时自动启动
sudo systemctl enable mysql
# 使用用户为 root 的账号密码登陆
mysql -u root -p
# 检查 MySQL 服务状态
sudo systemctl status mysql
# 退出 mysql shell
quit;
# 查看MySQL服务的状态
sudo service mysql status
# 启动 mysql
sudo service mysql start
# 停止 mysql
sudo service mysql stop
# 查看MySQL错误日志
sudo less /var/log/mysql/error.log
SQL 命令
sql
-- 查看有那些表
SHOW TABLES;
-- 查看有那些数据库
SHOW DATABASES;
-- 创建数据库
CREATE DATABASE `数据库名`;
-- 如果没有就创建,否则就什么都不做
CREATE DATABASE IF NOT EXISTS `数据库名`
-- 切换到指定的数据库
USE 数据库名;
-- 运行指定 sql 文件
source /xxxx/xxxx/xxxx.sql
-- 查看表的数据
select * from 表名;
-- 查看所有用户
SELECT User FROM mysql.user;
-- 将 abd 数据库名称修改为 def
RENAME DATABASE abc TO def;
-- 删除数据库
DROP DATABASE xxx;
登录
shell
mysql -u root -p
错误日志
- 服务器连接 mysql 失败
错误日志:Error: Access denied for user 'root'@'localhost'
,解决方案:MySQL Error: : 'Access denied for user 'root'@'localhost'
创建数据库
创建一个指定字符集的数据库
sql
CREATE DATABASE IF NOT EXISTS `数据库名`
DEFAULT CHARACTER SET 'utf8mb4';
操作数据表
创建表
sql
-- NOT NULL 不能为空
-- AUTO_INCREMENT 自增列
-- PRIMARY KEY 设置为主键
-- DEFAULT CURRENT_TIMESTAMP 字段创建时间
-- 名称 类型 属性
CREATE TABLE `表名` (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
name varchar(100) COMMENT '名字',
age int COMMENT '年龄',
address varchar(100),
create_at timestamp DEFAULT CURRENT_TIMESTAMP
)
更新表名
sql
ALTER TABLE `表名称` RENAME `新表名`
给表添加新的字段
sql
ALTER TABLE `表名称` ADD COLUMU `key` varchar(255)
```FF
删除表的指定列
```sql
ALTER TABLE `表名称` DROP `key`
更改指定列
sql
ALTER TABLE `表名称` MODIFY `key` varchar(100)