MySQL数据库之DDL操作

2023-11-17

1、数据库管理系统的一些常用术语

学习数据库首先要清楚数据库的一些常用术语:

  • 行:又叫做记录,每一行都是一组相关的数据。
  • 列:又叫做字段,每一列都是一组数据类型相同数据。
  • 主键:是唯一的,在一张数据表中只有一个主键,且不能为空。
  • 外键:主要用于关联两个表。
  • 复合键:将多个列组合起来形成一组键,通常用于索引,主键一般不采用符合键的形式,因为这样做会违反三大范式中的第二范式,所有非主键字段完全依赖主键,不能产生部分依赖,如果主键采用符合形式,可能会产生部分依赖。
  • 索引:相当于书的目录,可以加快检索的速度。
  • 表头:每一列的名称。
  • 值:行的具体信息, 每个值必须与该列的数据类型相同。

2、操作语言类型

数据库的操作大致分为以下几类:

  1. DQL(数据查询语言):主要用来查询数据,select语句(最常用)
  2. DML(数据操纵语言):主要要来对数据中表的数据的增删改,insert、update 、delete
  3. DDL(数据定义语言):主要用来对数据库中表的增删改,create、drop、alter
  4. DCL(数据控制语言):grant授权、revoke撤销等。
  5. TCL(事务控制语言):主要用来控制事务,commint提交事务、rollback回滚事务
DDL DML DQL DCL TCL
数据定义语言 数据操作语言 数据查询语言,最常用 数据控制语言 事务控制语言
create alter drop insert update delete select grant revoke commit rollback

DML+DQL构成了CRUD,即增加(Create)、J检索(Retrieve)、更新(Update)和删除(Delete)

4、 DDL(数据定义语言)

​ DDL是数据定义语言,主要用来操作数据库和创建数据表,其中操作数据库主要包括创建数据库(create)、更新数据库(alter)以及删除数据库(drop)。注:在数据库中不区分大小写。

4.1 数据类型

​ 在mysql中数据类型主要被分成三类:

  • 数值类型:主要用来表示一些数字的类型,比如int、float、bigint等。
  • 日期/时间类型:主要用来表示时间和日期的类型,比如data、datatime等
  • 字符串(字符)类型:主要用来表示一些字符的类型。比如char、varchar等。

数值类型:主要用来表示一些数字的类型,MySQL支持所有标准SQL数值数据类型。

类型 大小 范围 说明 用途
tinyint 1 byte 有符号:(-128,127)

无符号:(0,255)
非常小的数据 小整数值
smallint 2 bytes 有符号:(-32 768,32 767)

无符号:(0, 65535)
较小的数据 大整数值
mediumint 3 bytes 有符号:(-8 388 608,8 388 607)

无符号:(0,16 777 215)
中等数据 大整数值
int 4 bytes 有符号:(-2 147 483 648,2 147 483 647)

无符号:(0,4 294 967 295)
标准整数 大整数值(常用)
bigint 8 bytes 有符号:(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)

无符号:(0,18 446 744 073 709 551 615)
较大的整数 极大整数值
float 4 bytes 有符号:(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)

无符号:0,(1.175 494 351 E-38,3.402 823 466 E+38)
单精度浮点数 单精度 浮点数值(常用)
double 8 bytes 有符号:(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

无符号:0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
双精度浮点数 双精度 浮点数值
decimal 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 字符串形式的浮点数 小数值

日期/时间类型

类型 大小 ( bytes) 范围 格式 用途
data 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值(常用)
time 3 ‘-838:59:59’/‘838:59:59’ HH:MM:SS 时间值或持续时间(常用)
year 1 1901/2155 YYYY 年份值(常用)
datetime 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值(常用)
timestamp 4 1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串类型

类型 大小 用途
char 0-255 bytes 定长字符串(常用)
varchar 0-65535 bytes 变长字符串(常用)
tinyblob 0-255 bytes 不超过 255 个字符的二进制字符串
tinytext 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
text 0-65 535 bytes 长文本数据

char和varchar虽然都便是字符串,但是它们之间是有区别的:

  • 长度不一样,char类型的长度是固定的,而varchar类型:varchar类型的长度是可变的。

  • 效率不同

    1、char类型:char类型每次修改的数据长度相同,效率更高。

    2、varchar类型:varchar类型每次修改的数据长度不同,效率更低。

  • 存储不同

    1、char类型:char类型存储的时候是初始预计字符串再加上一个记录字符串长度的字节,占用空间较大。

    2、varchar类型:varchar类型存储的时候是实际字符串再加上一个记录字符串长度的字节,占用空间较小。

4.2 基本语句

当要创建数据库时可以使用create语句进行创建,具体语法:create database [if no exixts] 数据库名:

CREATE DATABASE book              直接创建,如果存在会报错
或者:
CREATE DATABASE IF NO EXISTS book      判断这个数据库是否存在,不存在就创建

当要删除数据库时可以使用drop语句进行删除,切记慎用,具体语法:drop database [if no exixts] 数据库名;

DROP DATABASE book       直接删除数据库

DROP DATABASE IF EXISTS book     判断这个数据库是否存在,存在就删除

当要选择现在使用的数据库(切换数据库)时可以使用use语句进行数据库的选择,具体语法:use 数据库名;

USE book    使用当前定义的数据库

当要查看所有数据库时可以使用show语句进行查看,具体语法:show 数据库名;

SHOW DATABASES         查询所有数据库

4.3 创建数据表

创建数据表的前提是创建了一个数据库,在创建数据表时要注意是否有与之关联的数据表,如果没有可以直接创建,否则要先创建父表再创建子表,在创建数据库时要使用到三个字段:字段名 数据类型 [ 数据长度 ] [ 约束 ]

具体语法:create table [ if no exixts ] 表名( 字段名 数据类型 [ 数据长度 ] [ 约束 ] )数据引擎 字符集;即:

create  table  表明名(

  字段名1  数据类型,

  字段名2  数据类型,

  字段名3  数据类型,

......................

  字段名n 数据类型

)ENGINE=INNODB DEFAULT CHARSET=utf8;

------------- >> 案例:创建一个text数据库,然后在数据库中创建一张EMP 表,并且要求使用默认的数据引擎,字符使用utf8,规定EMPNO字段的值不能为空且为主键,HIREDATE字段的值默认为空,

建表语句:


CREATE DATABASE TEXT;              建立数据库
USE TEXT;                          使用数据库
DROP TABLE IF EXISTS EMP;          判断EMP表是否存在,存在就删除
CREATE TABLE EMP(                  创建数据表EMP
    EMPNO INT(4)  NOT NULL ,
	ENAME VARCHAR(10),
	JOB VARCHAR(9),
	MGR INT(4),
	HIREDATE DATE  DEFAULT NULL,
	SAL DOUBLE(7,2),
	COMM DOUBLE(7,2),
	PRIMARY KEY (EMPNO),
	DEPTNO INT(2) 
	)ENGINE=INNODB DEFAULT CHARSET=utf8;    使用默认的数据引擎,字符使用utf8
	

可以使用desc 数据表名 查看创建的表的结构

mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO    | int(4)      | NO   | PRI | NULL    |       |
| ENAME    | varchar(10) | YES  |     | NULL    |       |
| JOB      | varchar(9)  | YES  |     | NULL    |       |
| MGR      | int(4)      | YES  |     | NULL    |       |
| HIREDATE | date        | YES  |     | NULL    |       |
| SAL      | double(7,2) | YES  | MUL | NULL    |       |
| COMM     | double(7,2) | YES  |     | NULL    |       |
| DEPTNO   | int(2)      | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
8 rows in set

4.4 删除数据表以及数据库

删除数据表(库)的操作比较简单可以使用drop语句进行删除,切记不要盲目删除,在删除数据库表的时候一定要注意是否有与之相关联的表,如果没有便可以直接删除,此时数据便会从内存或者硬盘中移除,否则就要考虑该表与关联的表之间的关系,假设该表是子表,则可以直接删除,如果该表是父表,则不能直接删除,要先删除子表才能删除父表。具体语法:drop table if exists 数据表名;

建议最好别使用drop truncate删除数据库和数据表


----------->>案例:删除上面创建的EMP表(假设没有其他表与其关联)

删表语句:

USE TEXT;                           使用数据库
DROP TABLE IF EXISTS EMP;           删除EMP表

删除数据库:在删除数据库时一般会有两种删除 drop truncate


原始数据库:
mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| ssm_hotel           |
| ssm_library         |
| ssm_sterngym        |
+---------------------+
3 rows in set


创建一个数据库
mysql> create database if not exists shi;
Query OK, 1 row affected

mysql> show databases
    -> ;
+---------------------+
| Database            |
+---------------------+
| shi                 |
| ssm_hotel           |
| ssm_library         |
| ssm_sterngym        |
+---------------------+
4 rows in set


mysql> drop database if exists shi;
Query OK, 0 rows affected

mysql> show database;
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| ssm_hotel           |
| ssm_library         |
| ssm_sterngym        |
+---------------------+
3 rows in set

建议最好别使用drop truncate删除数据库和数据表

4.5、更新表和字段结构

  1. 当表中的结构需要改变使,即需要增加某个字段时,可以使用alter语句进行添加,具体语法:

alter table 表名 add(字段名 数据类型(数据长度)约束)


---------->> 案列;需要在数据表emp中增加一个age字段,数据类型为int,数据长度为10。

mysql> ALTER TABLE emp ADD(age INT(10));
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO    | int(4)      | NO   | PRI | NULL    |       |
| ENAME    | varchar(10) | YES  |     | NULL    |       |
| JOB      | varchar(9)  | YES  |     | NULL    |       |
| MGR      | int(4)      | YES  |     | NULL    |       |
| HIREDATE | date        | YES  |     | NULL    |       |
| SAL      | double(7,2) | YES  |     | NULL    |       |
| COMM     | double(7,2) | YES  |     | NULL    |       |
| DEPTNO   | int(2)      | YES  |     | NULL    |       |
| age      | int(10)     | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
9 rows in set

2.表中某个字段的结构需要改变使,即需要增加某个字段时,可以使用alter语句进行添加,具体语法:

alter table 表名 nodify 字段名 更改的数据类型(数据长度)

alter table 表名 change 字段名 更改的字段名 更改的数据类型(数据长度)

---------->>案列;需要在数据表emp中更改age字段,数据类型为varchar,数据长度为100。

mysql> ALTER TABLE emp MODIFY age VARCHAR(100) ;
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc emp;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| EMPNO    | int(4)       | NO   | PRI | NULL    |       |
| ENAME    | varchar(10)  | YES  |     | NULL    |       |
| JOB      | varchar(9)   | YES  |     | NULL    |       |
| MGR      | int(4)       | YES  |     | NULL    |       |
| HIREDATE | date         | YES  |     | NULL    |       |
| SAL      | double(7,2)  | YES  |     | NULL    |       |
| COMM     | double(7,2)  | YES  |     | NULL    |       |
| DEPTNO   | int(2)       | YES  |     | NULL    |       |
| age      | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
9 rows in set


------------------------------------------------------end--------------------------------------------------



MySQL初始链接:------------------------------------------>>>>>>>>>前往加载<<<<<<<<<-------------------------------------

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库之DDL操作 的相关文章

  • PDO 库比本机 MySQL 函数更快吗?

    我已经阅读了几个与此相关的问题 但我担心它们可能已经过时 因为自这些问题得到解答以来 更新版本的 PDO 库已经发布 我编写了一个 MySQL 类 它构建查询并转义参数 然后根据查询返回结果 目前这个类正在使用内置的mysql函数 我很清楚
  • 如何通过单个mysql查询更新多个表?

    我有两个表 tb1 和 tb2 我必须在用户级别更新两个表的公共列 我对两个表都有一个共同的标准 例如用户名 所以我想这样更新 UPDATE tb1 tb2 SET user level 1 WHERE username Mr X 但不知何
  • MySQL:更新所有行将字段设置为0,但将一行的字段设置为1

    是否有一种有效的方法将行字段的选择更新为 0 但根据 ID 将其中一行设置为 1 基本上 我在数据库中有多个对象 我想在其中一个 inuse 之间切换 因此查询将其中一行 按 id 设置为 inuse 1 将其他行设置为 inuse 0 谢
  • PHP 中的 SQL 语句与 phpmyadmin 中的 SQL 语句的行为不同

    I have form store sql INSERT INTO myodyssey myaccount id email username password VALUES NULL email unixmiah formtest woo
  • MySQL 连接不工作:2002 没有这样的文件或目录

    我正在尝试设置 WordPress 我已经运行了 Apache 和 MySQL 并且帐户和数据库都已设置 我尝试建立一个简单的连接 我总是得到这个 错误 2002 没有这样的文件或 目录 它正在谈论什么文件或目录 我使用的是 OS X Sn
  • 如何在MySQL选择查询中编写正则表达式?

    我尝试过这个表达 b word w b i比较一个word对照其他单词列表来查找重复项 我用了preg math all 效果很好 我想做同样的事情 但这次检查从 mysql 数据库检索到的单词 这是我写的 SELECT FROM tabl
  • _mysql_connector.MySQLInterfaceError:命令不同步;您现在无法运行此命令 python msql.connector

    我有一个功能 您可以在下面看到 如果运行此函数 我将收到您在标题中看到的错误 您能帮助我吗 不久前我能够用锁解决这个问题 但现在它们不起作用 我知道这与我的连接有关 但我不知道如何解决这个问题 def insertNewValues sel
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • MySQL ALTER TABLE 挂起

    我知道这个问题已经被问过好几次了 但我的问题发生在我刚刚创建的表上 它只有 10 列和 1 行 因此 与通常的挂起问题不同 这不是具有大量数据的大表的情况 但它仍然挂着 这是我正在运行的 SQL ALTER TABLE db Search
  • 使用 PHP 和 jSON 从 MySQL 获取 UIImage

    我正在开发一个小型新闻阅读器 它通过对 URL 执行 POST 请求来从网站检索信息 响应是一个带有未读新闻的 JSON 对象 例如 应用程序上的最新新闻的时间戳为 2013 03 01 当用户刷新表时 它会发布 domain com ap
  • 多个数据库连接

    我有三张桌子 categories content info and content The categories表包含类别的id及其 IDparent类别 The content info包含两列 entry id帖子的 ID 和cat
  • Mysql案例不工作

    SELECT SQL CALC FOUND ROWS a zn name AS zone name c name AS carrier name CASE type WHEN type 1 THEN General day ELSE Spe
  • Python Twisted 和数据库连接

    我们的工作项目包括同步应用程序 短期 和异步 Twisted 应用程序 长期 我们正在重构我们的数据库 并将构建一个 API 模块来解耦该模块中的所有 SQL 我想创建该 API 以便同步和异步应用程序都可以使用它 对于同步应用程序 我希望
  • 如何将值从 android 传递到 php Web 服务并检索它?

    我正在尝试将一个值传递给我的 php web 服务 我已经使用此代码来传递 名称 值 private class MyAsyncTask extends AsyncTask
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • iPhone表情插入MySQL却变成空值

    我们正在开发一个 iPhone 应用程序 它将表情符号从 iPhone 发送到服务器端 PHP 并插入到 MySQL 表中 我正在做服务器端的工作 但是insert语句执行成功后 插入的值变成空了 我可以正确插入字段 varchar 的是文
  • 将程序存储在 phpMyAdmin 中

    我必须将存储过程添加到 MySQL 数据库 问题是托管提供php我的管理员来管理数据库 我在网上搜索了一下 想法是运行创建程序的MySQL本机语句 但由于程序的代码通常可能有 我们必须更改 MySQL 中的分隔符 php我的管理员没有这个选
  • 子查询与连接

    我重构了从另一家公司继承的应用程序的一个缓慢部分 以使用内部联接而不是子查询 例如 WHERE id IN SELECT id FROM 重构后的查询运行速度提高了约 100 倍 50 秒到 0 3 我预计会有改进 但谁能解释为什么它如此剧
  • 从 JSON 数组创建标记 php mySQL Google Maps v2 android

    我正在尝试从 mySQL 数据库在 Google Maps v2 上创建标记 但它不起作用 地图确实出现了 但没有标记 谁能告诉我出了什么问题以及我需要改变什么 我也尝试过让 getDouble 为 getDouble 0 和 getDou
  • php echo 不工作

    我的代码似乎不起作用 单选按钮出现 但旁边什么也没有 似乎 mysql fetch array 由于某种原因无法工作 因为我已经玩过代码并反复测试它以查找代码似乎遇到的位置出现问题并停止工作 有人可以告诉我出了什么问题吗 欢呼声我是新手 最

随机推荐

  • 使用face_recognition(一)人脸识别

    关于使用face recognition 安装方面还是有些坑的 之前用的是python3 5 pip安装出错 需要dlib什么的 按照网上的教程弄 还是有问题 搞了一天搞不定 后来看到说用python3 6比较简单 就换了个版本 结果pip
  • Ubuntu 14.04升级openssh7.7p1

    安装流媒体kurento 指定操作系统是Ubuntu 14 04 用户最近安全漏洞扫描 Ubuntu主机的ssh版本太低 OpenSSH 6 6 1p1 需要需要对该主机的SSH版本进行升级 准备升级的安全包 本次升级我准备了三个文件 op
  • 【学术探讨】万能密码原理剖析

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 推荐专栏 对网络安全感兴趣的小伙伴可以关注专栏 网络安全入门到精通 万能密码 顾名思义 就是可以 登录任意网站 的账号和密码
  • ORA-28040: 没有匹配的验证协议 问题解决

    出现这类问题 是因为 jar包不匹配造成 更换ojdbc jar包可以解决 下载ojdbc7 jar 用以前的jar包会出问题 以前的jar包会出现ora 28040 没有匹配的验证协议 项目使用的 ojdbc14报错 更换oidbc6解决
  • linux环境文件或者文件夹打包

    1 linux zip压缩 压缩当前文件夹下所有文件 压缩为a zip 命令行的方法是怎样 常用格式 zip r fileName zip 文件夹名 1 把 home目录下面的data目录压缩为data zip zip r data zip
  • java for循环删除元素_JAVA中循环删除list中元素的方法总结

    JAVA中循环遍历list有三种方式for循环 增强for循环 也就是常说的foreach循环 iterator遍历 1 for循环遍历list for int i 0 i if list get i equals del list rem
  • 第十二届蓝桥杯 ——左孩子右兄弟

    问题描述 对于一棵多叉树 我们可以通过 左孩子右兄弟 表示法 将其转化成一棵二叉树 如果我们认为每个结点的子结点是无序的 那么得到的二叉树可能不唯一 换句话说 每个结点可以选任意子结点作为左孩子 并按任意顺序连接右兄弟 给定一棵包含 N N
  • 腾讯广告算法大赛冠军、Kaggle Grandmaster倾力打造,涵盖Kaggle、阿里天池等赛题...

    随着互联网时代的到来 以及计算机硬件性能的提升 人工智能在近几年可以说是得到了爆发式的增长 互联网时代带来了大量的信息 这些信息是名副其实的大数据 另外 性能极佳的硬件也使得计算机的计算能力大大增强 这二者结合到一起 人工智能的蓬勃兴盛就变
  • MySQL数据库连接

    1 连接数据库 Class forName com mysql cj jdbc Driver 加载驱动 Connection conn DriverManager getConnection jdbc mysql localhost 330
  • 易云维®医院后勤管理系统软件利用物联网智能网关帮助实现医院设备实现智能化、信息化管理

    近年来 我国医院逐渐意识到医院设备信息化管理的重要性 逐步建立医院后勤管理系统软件 以提高信息化管理水平 该系统是利用数据库技术 为医院的中央空调 洁净空调 电梯 锅炉 医疗设备等建立电子档案 把设备监控 管控 维保 设置等主要管理操作都通
  • UHF超高频RFID应用RFID珠宝盘点管理

    关于UHF超高频RFID技术对RFID珠宝盘点管理的好处 在商场上逛 我们总会看到关于珠宝柜台展示的时候 无论多小的物品都会有一个个条码标签挂着 如果店员想对这些珠宝盘点 传统的做法是一个一个扫 如果实施RFID物联网技术 珠宝贴上RFID
  • qemu调试linux内核

    有了qemu后我们可以使用一台电脑就能模拟出多种cpu架构的单板 不需要去进行重复复杂的编译烧写调试工作了 提高开发的效率 一 主机环境 vmware或者hyper v安装ubuntu20 04 二 gdb安装 这里我们直接用gdb mul
  • vsftpd服务器上传文件,当我将文件上传到 Vsftpd 服务器时,文件被锁定

    我正在使用 FTP 的 spring 集成将文件上传到 FTP 服务器 Bean ServiceActivator inputChannel toFtpChannel public FtpMessageHandler handler Ftp
  • [ACM] 1016 Prime Ring Problem (深度优先搜索)

    Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagram Put natural number 1 2 n into
  • Linux-3种方法快速找出监听特定端口的进程

    Pre 端口是代表通信端点的逻辑实体 并与操作系统中的给定进程或服务相关联 在之前的文章中 我们解释了如何找出 Linux 中所有开放端口的列表 以及如何使用 Netcat 命令检查远程端口是否可达 在这个简短的指南中 我们将展示在 Lin
  • TypeScript 中如何使用 getter 和 setter

    使用 get 和 set 关键字在 TypeScript 中定义 getter 和 setter getter 使我们能够将属性绑定到在访问属性时调用的函数 而 setter 将属性绑定到在尝试设置属性时调用的函数 class Develo
  • Qt助手(assistant):方便查找Qt类

    一个方便查找QT类用法的地方 QT自带的 QT助手 在qt安装路径中找到assistant exe 它就是QT助手 运行之后就可以查找QT中的类和函数了 找到后 将其发送到桌面快捷方式 更名为Qt助手
  • 关于pytorch图像处理模块的数据处理

    文章参考 chsasank github io from future import print function division import torch import torch nn as nn import torch optim
  • egg-jwt egg jwt 使用

    1 安装egg jwt npm install egg jwt save 2 配置 config plugin ts import EggPlugin from egg const plugin EggPlugin jwt enable t
  • MySQL数据库之DDL操作

    1 数据库管理系统的一些常用术语 学习数据库首先要清楚数据库的一些常用术语 行 又叫做记录 每一行都是一组相关的数据 列 又叫做字段 每一列都是一组数据类型相同数据 主键 是唯一的 在一张数据表中只有一个主键 且不能为空 外键 主要用于关联