启动mariadb
linux系统下敲 systemctl start mariadb
搜索mariadb的端口号(默认是3306) 可以去阿里云安全组打开这个端口,使得外网可以访问我们自己服务器上的MySQL数据库
ps - ef | grep mariadb
启动数据库
mysql -u root -p
然后输入自己之前设置的密码就可以连接上mysql数据库
(设置密码命令:create user 'root'@'%' identified by '123456';
;
刷新:flush privileges;
)
使用select version();命令可以查看数据库版本型号
MariaDB [(none)]> select version();
+----------------+
| version() |
+----------------+
| 5.5.60-MariaDB |
+----------------+
1 row in set (0.00 sec)
使用show databases;可以查看mysql中所有的数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
使用可视化工具navicat来更好的操作mysql:
- 安装:安装包安装(一直点next安装就行了)
- 安装好了之后进入软件界面 首先点击连接选择需要连接到哪个(数据库)
MySQL
MariaDB
Amazon的数据库
阿里云服务器上的MySQL
腾讯云上的
- 我们使用的阿里云的服务器所有选择阿里云,然后填写名字,填写自己服务器公网地址号,然后输入自己MySQL的密码,默认端口为3306
- 创建之后没有显示数据库中的数据,需要给文件权限:
grant all privileges on . to 'root'@'%' with grant option;
给MySQL中所有文件权限
Mysql中的SQL:
SQL是一种语言:可以用来正删改查数据库中的数据.
- 创建:
# 创建一个名为school的数据库并制定默认字符集为utf-8
create database school default charset utf8;
- 删除:
# 如果存在名为school的数据库就删除它
drop database if exists school;
# 切换到school数据库上下文环境
use school;
-- 创建学生表
# 一般表的前面会有tb或者t或者tbl等前缀
create table tb_student
(
# 学生的学号,int表示类型,not null 表示不能为空,可以在这句后面加 comment '学号'来当注释..
stuid int not null comment '学号',
# 学生的姓名,varchar(20)表示能输入的数据长度字符最大为20,
stuname varchar(20) not null comment '学生姓名',
# 学生性别,可以通过bit来表示,默认default 1,
stusex bit default 1 comment 1,
# 学生生日,可视化工具中date来获取日历选择生日,SQL中直接输入但是格式是'xxxx-xx-xx'形式
stubirth date comment '生日',
# 设置主键:主键是表中唯一的值,一个表中只要主键确定了,那么对应的表的实例的数据也确定了
primary key(stuid)
);
修改学生表:
# 新增一个学生表属性:stuaddr(家庭住址),并且设置最大输入字符为255个
alter table tb_student add colum stuaddr varchar(255);
# 修改stuaddr属性最大输入字符数为511,
alter table tb_student change column stuaddr stuaddr varchar(511);
# 删除学生表中的stuaddr属性
alter table tb_student drop column stuaddr;
创建一个学院表:
-- 学院表
create table tb_college
(
colid int not null comment '学院编号',
colname varchar(20) not null comment '学院名',
colweb varchar(50) comment '学院网站',
primary key(colid)
);
-- 学院表中插入数据
-- auto_increment 自动增长字段:必须是主键,类型必须是int类型,不能为空
insert into tb_college(colid,colname,colweb) values
(001,'计算机学院','www.computer.com'),
(002,'航空维修学院','www.ewqq.com'),
(003,'物理学院','www.gdhlj.com');
将学生表和学院表关联起来:
-- 修改学生表添加学院编号(colid)列
alter table tb_student add column colid int;
-- 修改学生表添加外键约束(参照完整性)
alter table tb_student add constraint fk_student_colid foreign key (colid) references tb_college (colid);
-- 更新学生表为学生指定所属学院
update tb_student set colid=1 where stuid between 1001 and 1006;
update tb_student set colid=2 where stuid in (1007, 1008);
update tb_student set colid=3 where stuid=1009;
创建老师表(表中主键忘记写的两种补救方法):
# 创建老师表
create table tb_teacher
(
teaid int not null comment '工号',
teaname varchar(20) not null comment '老师名字',
teasex bit default 1 comment '性别',
teabirth date comment '生日',
teatitle varchar(10) default '助教' comment '老师职称',
colid int not null comment '所在学院'
-- colid int not null,
-- foreign key(colid) references tb_college(colid)
);
# 主键约束alter(表忘记写主键的情况下使用)
alter table tb_teacher add constraint pk_teacher_teaid
primary key(teaid);
# 添加外检约束alter
alter table tb_teacher add constraint fk_teacher_colid
foreign key(colid) references tb_college (colid);