安装数据库
地址:MySQL :: Download MySQL Community Server ,选择标准包
解压缩:注意,路径中不能有中文,如:D:\mysql-8.0.37-winx64
配置环境变量:注意,之前的环境变量删除,或者直接修改
创建配置文件:D:\mysql-8.0.37-winx64\my.ini
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld] # 服务端设置
# 设置3306端口
port=3306
# 重要,设置mysql的安装目录
basedir=D:\mysql-8.0.37-winx64
# 重要,设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.37-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
初始化mysql80服务(以管理员身份执行):mysqld --initialize --console
安装MySql服务: mysqld --install
启动服务:net start mysql
登录: mysql -uroot -p ,粘贴之前保存的临时密码
修改密码,格式:alter user root@localhost identified by '123456'; ,不修改则无法工作
重新登录,输入新密码
建mydb6_product库
mysql> create database mydb6_product;
Query OK, 1 row affected (0.01 sec)
mysql> use mydb6_product;
Database changed
建表
employees表
mysql> create table employees(id int primary key comment 'id不能为空', name varchar(50) not null, age int, gender varchar(10) not
null default 'unknown', salary float);
Query OK, 0 rows affected (0.03 sec)
orders表
mysql> create table orders(id int primary key comment 'id不能为空', name varchar(100) not null, price float, quantity int, category varchar(50));
Query OK, 0 rows affected (0.01 sec)
invoices表
mysql> create table invoices(number int primary key comment 'number不能为空', order_id int, in_date date, total_amount float, check(total_amount>0.0), foreign key (order_id) references orders(id));
Query OK, 0 rows affected (0.03 sec)
mysql> alter table invoices modify number int auto_increment;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0