当前位置: 首页 > news >正文

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

相关文章:

  • Windows11 wsl2编译Android14 使用ASfP Debug windows上启动的模拟器
  • 初始C++
  • HTTP的系统登录页面,如何避免明文传输用户密码?
  • 【算法】贪心算法——柠檬水找零
  • 个人关于ChatGPT的用法及建议
  • 颠覆传统:探索Web3对传统计算机模式的冲击
  • Linux-struct list_head的快速使用
  • TPL0401B使用教程
  • springboot+vue的养老院管理系统
  • 【机器学习】让大模型变得更聪明
  • C#根据数据量自动排版标签的样例
  • 【CPP】栈简介及简化模拟实现
  • C语言学习笔记之结构体(一)
  • Android 车载 Audio 中 有关系统按键无声的问题排查小结
  • qi5uxeel算法分析流程记录libmsec.so
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Angular6错误 Service: No provider for Renderer2
  • codis proxy处理流程
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • linux安装openssl、swoole等扩展的具体步骤
  • React中的“虫洞”——Context
  • vue-router的history模式发布配置
  • Vue官网教程学习过程中值得记录的一些事情
  • web标准化(下)
  • 百度小程序遇到的问题
  • 代理模式
  • 动态规划入门(以爬楼梯为例)
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 用 Swift 编写面向协议的视图
  • 终端用户监控:真实用户监控还是模拟监控?
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 数据库巡检项
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​力扣解法汇总946-验证栈序列
  • #define、const、typedef的差别
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (02)Hive SQL编译成MapReduce任务的过程
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (function(){})()的分步解析
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (第一天)包装对象、作用域、创建对象
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (篇九)MySQL常用内置函数
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转载)深入super,看Python如何解决钻石继承难题