Ubuntu20.04 Mysql基本操作知识

#Mysql基本知识

运行环境Ubuntu20.04

1.开启mysql服务

复制代码
sytemctl start mysql

不然,命令行进入myql交互行提交命令后,就会出现4200错误。

2.显示所有数据库

复制代码
SHOW DATABASES;

注意复数s,毕竟很多数据库

3.新建数据库test

复制代码
CREATE DATABASE test;

注意分号。

4.在数据库中建立表格students,并且初始化

复制代码
    ->CREATE TABLE students(
    -> id bigint(20) NOT NULL AUTO_INCREMENT,
    -> class_id bigint(20) NOT NULL,
    -> name varchar(100) NOT NULL,
    -> gender varchar(1) NOT NULL,
    -> score int(11) NOT NULL,
    -> PRIMARY KEY(id)
    -> );

注意分号。指定了主键为id。

5展示表students的结构

复制代码
DESC students;

如下:

其中:

Null:代表是否该允许字段(field)为空

Default: 全称"默认值约束(Default Constraint),是指在不输入的情况下,系统自动填入的值。

6.如果要给students表新增一列birth,使用:

复制代码
ALTER TABLE students ADD COLUMN birth VARCHAR(10) NOT NULL;

7.要修改birth列,例如把列名改为birthday,类型改VARCHAR(20):

复制代码
ALTER TABLE students CHANGE COLUMN birth birthday VARCHAR(20) NOT NULL;

8.要删除列,使用:

复制代码
ALTER TABLE students DROP COLUMN birthday;

9.删除表使用DROP TABLE语句:

复制代码
 DROP TABLE students;

10.删除数据库test。

复制代码
DROP DATABASE test;

哈人命令,形同rm -rf。

注意此时就在test库里面,仍然可以执行,删除本身,这是不同的地方。

#关于外键的知识

1.外键的名称可以任意

2.外键的指定依赖于两张表内的已有的字段

3.设定外键的表,被另外的表制约。

4.通过外键定义的几种关系,

一对一

一对多:

用部门信息和职员信息举例:

如果外键设置在部门信息中,那么部门信息就要依赖职员信息,也就是说每个部门至少要有一个职员

如果外键设置在员工信息中,那么员工信息依赖部门,也就是说每个职员至少要有一个部门。

考虑到有些公司可能会新建部门,但是暂时没有任何员工入职;也可能新入职的员工没有进入任何部门,因此需要根据实际情况,具体设置约束。

一般情况下,我们会要求每个部门至少有一个员工,因此将外键设置在部门信息中(多的一方)比较合适。每个职员也确实不一定非要入职一个具体的部门(实习生)。

多对多

ref:

https://www.liaoxuefeng.com/wiki/1177760294764384/1246617774585536

相关推荐
IvorySQL10 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
白露与泡影12 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
赵渝强老师14 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
IpdataCloud15 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun31415916 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖16 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
蓝胖子酱17 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li18 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区18 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql
这个DBA有点耶18 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范