• 表的基本操作


    创建数据表

    在创建数据库之后,接下来就要在数据库中创建数据表。所谓创建数据表,指的是在已经创建的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。

    语法

    数据表属于数据库,在创建数据表之前应该使用语句 USE <数据库名> 指定操作在哪个数据库中进行。如果没有选择数据库,直接创建数据表,则系统会显示 No database selected 的错误。
    创建数据表的语句为 CREATE TABLE,语法格式如下:

    create table <表名> (
        字段1	 数据类型  [列级别约束条件] [默认值],
        字段2	 数据类型  [列级别约束条件] [默认值],
        ...
        [表级别约束条件]
    )
    

    在使用 CREATE TABLE 创建表时必须指定以下信息:
    (1)要创建表的名称,不区分大小写,不能使用 SQL 语言中的关键字,例如 DROP、ALTER、INSERT 等。
    (2)数据表中每一列(字段)的名称和数据类型,如果创建多列,要用逗号隔开。

    【例】创建员工表 db_1

    字段名称 数据类型 备注
    id int(11) 编号
    name varchar(25) 名称
    sex boolean 性别
    salary float 工资

    首先创建数据库,然后选择数据库

    create database mytest;
    use mytest;
    

    开始创建数据表 db_1

    create table db_1 (
        id int(11),
        name varchar(25),
        sex boolean,
        salary float
    );
    

    使用 show tables 语句查看数据表是否创建成功

    mysql> show tables;
    +------------------+
    | Tables_in_mytest |
    +------------------+
    | db_1             |
    +------------------+
    1 row in set (0.00 sec)
    

    可以看到,数据表 db_1 创建成功,数据库 mytest 中已经有了数据表 db1 。

    主键约束

    主键又称主码,是表中一列或多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证号码和人之间的关系,它们之间是一一对应的。主键分为两种类型,即单字段主键和多字段主键。

    单字段主键

    主键由一个字段组成,设置主键的 SQL 语句格式分为两种情况。

    (1)在定义列的同时指定主键,语法格式如下:

    字段名 数据类型 PRIMARY KEY[默认值]
    

    【例】定义数据表 db_2,其主键为 id

    create table db_2 (
        id int(11) PRIMARY KEY,
        name varchar(25),
        sex boolean,
        salary float
    );
    

    (2)在定义完所有列之后指定主键,语法格式如下:

    [CONSTRAINT <约束名>] PRIMARY KEY [字段名]
    
    create table db_2 (
        id int(11),
        name varchar(25),
        sex boolean,
        salary float,
        PRIMARY KEY(id)
    );
    

    上面两个例子执行后的结果是一样的,都会在 id 字段上设置主键约束。

    多字段主键

    主键由多个字段联合组成,语法格式如下:

    PRIMARY KEY [字段1, 字段2…, 字段n]
    

    【例】定义数据表 db_4,假设表中没有主键 id,为了唯一确定一个员工,可以把 name、sex 联合起来作为主键。

    create table db_4 (
        name varchar(25),
        sex boolean,
        salary float,
        PRIMARY KEY(name, sex)
    );
    

    语句执行后便创建了一个名称为 db4 的数据表,name 字段和 sex 字段组合在一起成为该数据表的多字段主键。

    外键约束

    外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

    外键首先是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。外键的主要作用是保证数据引用的完整性,在定义外键后不允许删除在另一个表中具有关联关系的行。外键还保证数据的一致性、完整性。例如部门表 tb_dept 的主键 id,在员工表 db_5 中有一个键 deptld 与这个 id 关联。

    • 主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。
    • 从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。

    创建外键的语法格式如下:

    [CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [, 字段名2, ...]
    REFERENCES <主表名> 主键列1 [, 主键列2, ...]
    

    外键名 为定义的外键约束的名称,在一个表中不能有相同名称的外键;字段名 表示子表需要添加外键约束的字段列。

    【例】定义数据表 db_5,并且在该表中创建外键约束

    创建一个部门表 tb_dept1 ,表结构如下所示

    create table tb_dept1 (
        id int(11) PRIMARY KEY,
        name varchar(22) NOT NULL,
        location varchar(50)
    );
    
    字段名称 数据类型 备注
    id int(11) 编号
    name varchar(25) 名称
    location varchar(50) 位置

    定义数据表 db_5,让它的 deptld 字段作为外键关联到 tb_dept1 表的主键 id

    create table db_5 (
        id int(11) PRIMARY KEY,
        name varchar(25),
        deptId int(11),
        salary float,
        CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    );
    

    以上语句成功执行后在 db_5 表上添加了名称为 fk_emp_dept1 的外键约束,外键名称为 deptld,其依赖于 tb_dept1 表的主键 id。

    非空约束

    非空约束(NOT NULL Constraint)指字段的值不能为空,对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。

    非空约束的语法格式如下:

    字段名 数据类型 NOT NULL
    

    唯一性约束

    唯一性约束(Unique Constraint)要求某列唯一,允许为空,但只能出现一个空值。唯一性约束可以确保一列或者几列都不出现重复值。

    在定义完列之后指定唯一性约束,语法格式如下:

    字段名 数据类型 UNIQUE
    

    默认约束

    默认约束(Default Constraint)指定某列的默认值。语法格式如下:

    字段名 数据类型 DEFAULT 默认值
    

    自增约束

    在 MySQL 数据库设计中会遇到需要系统自动生成字段的主键值的情况。例如用户表中需要 id 字段自增,需要使用 AUTO INCREMENT 关键字来实现。属性值自动增加的语法格式如下:

    字段名 数据类型 AUTO_INCREMENT
    

    查看表结构

    在数据表创建完成之后即可查看表结构的定义,以确认表的定义是否正确。

    查看表的基本结构

    使用 DESCRIBE / DESC 语句可以查看表字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,其语法格式如下:

    DESCRTBE <表名>;
    

    或者简写为:

    DESC <表名>;
    

    【例】查看 db_2 的表结构

    mysql> desc db_2;
    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | id     | int(11)     | NO   | PRI | NULL    |       |
    | name   | varchar(25) | YES  |     | NULL    |       |
    | sex    | tinyint(1)  | YES  |     | NULL    |       |
    | salary | float       | YES  |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    

    其中各个字段的含义分别如下。

    • Null:表示该列是否可以存储Null值。
    • Key:表示该列是否已编制索引。PRI 表示该列是表主键的一部分;UNI 表示该列是 UNIQUE 索引的一部分;MUL 表示在该列中某个给定值允许出现多次。
    • Default:表示该列是否有默认值,如果有,值是多少。
    • Extra:表示可以获取的与给定列有关的附加信息,例如 AUTO_INCREMENT 等。

    查看表的详细结构

    SHOW CREATE TABLE 语句可以用来查看表的详细信息,语法格式如下:

    SHOW CREATE TABLE <表名G>;
    

    【例】使用 SHOW CREATE TABLE 查看 db_1 表的详细信息

    mysql> show create table db_1 G
    *************************** 1. row ***************************
           Table: db_1
    Create Table: CREATE TABLE `db_1` (
      `id` int(11) DEFAULT NULL,
      `name` varchar(25) DEFAULT NULL,
      `sex` tinyint(1) DEFAULT NULL,
      `salary` float DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    修改数据表

    在数据库创建完成之后,还可以根据实际工作的需要重新修改数据表的结构,常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。

    修改表名

    MySQL 是通过 ALTER TABLE 语句来实现表名的修改的,具体语法格式如下:

    ALTER TABLE <旧表名> RENAME[TO] <新表名>;
    

    其中,TO 为可选参数,使用与否不影响结果。

    【例】将数据表 db_1 改名为 tb_new

    在执行修改表名操作之前使用 SHOW TABLES 查看数据库中的所有表。

    mysql> show tables;
    +------------------+
    | Tables_in_mytest |
    +------------------+
    | db_1             |
    | db_2             |
    | db_5             |
    | tb_dept1         |
    +------------------+
    4 rows in set (0.00 sec)
    

    使用 ALTER TABLE 将 db_1 表改名为 tb_new

    mysql> alter table db_1 rename tb_new;
    Query OK, 0 rows affected (0.02 sec)
    

    在语句执行之后检查 db1 表是否改名成功。使用 SHOW TABLES 查看数据库中的表

    mysql> show tables;
    +------------------+
    | Tables_in_mytest |
    +------------------+
    | db_2             |
    | db_5             |
    | tb_dept1         |
    | tb_new           |
    +------------------+
    4 rows in set (0.00 sec)
    

    经过比较可以看到数据表列表中已经显示表名为 tb_new

    修改字段数据类型

    修改字段数据类型就是把字段的数据类型转换成另一种数据类型。在 MySQL 中修改字段数据类型的语法格式如下:

    ALTER TABLE <表名> MODIFY <字段名> <数据类型>
    

    其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。

    【例】将数据表 tb_new 中 name 字段的数据类型由 VARCHAR(25) 修改成 VARCHAR(28)

    在执行修改表名的操作之前使用 DESC 查看 tb_new 表的结构

    mysql> desc tb_new;
    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | id     | int(11)     | YES  |     | NULL    |       |
    | name   | varchar(25) | YES  |     | NULL    |       |
    | sex    | tinyint(1)  | YES  |     | NULL    |       |
    | salary | float       | YES  |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    

    修改数据类型

    alter table tb_new modify name varchar(28); 
    
    mysql> desc tb_new;
    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | id     | int(11)     | YES  |     | NULL    |       |
    | name   | varchar(28) | YES  |     | NULL    |       |
    | sex    | tinyint(1)  | YES  |     | NULL    |       |
    | salary | float       | YES  |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    

    以上语句执行之后,检查发现 tb_new 表中 name 字段的数据类型已经修改成 VARCHAR(28),修改成功。

    修改字段名

    在 MySQL 中修改表字段名的语法格式如下:

    ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
    

    其中,旧字段名 指修改前的字段名;新字段名 指修改后的字段名; 新数据类型 指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来的一样,但数据类型不能为空。

    【例】将数据表 tb_new 中 name 字段的名称改为 newname

    ALTER TABLE tb_new change name newname varchar(28);
    

    使用 desc 查看 tb_new 表,发现字段名已经修改成功

    mysql> desc tb_new;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | id      | int(11)     | YES  |     | NULL    |       |
    | newname | varchar(28) | YES  |     | NULL    |       |
    | sex     | tinyint(1)  | YES  |     | NULL    |       |
    | salary  | float       | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    

    从结果可以看出,name 字段的名称已经修改为 newname。

    提示:由于不同类型的数据在计算机中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录,因此当数据库中已经有数据时不要轻易地修改数据类型。

    添加字段

    添加字段的语法格式如下:

    ALTER TABLE <表名> ADD <新字段名> <数据类型>
    [约束条件] [FIRST | AFTER 已存在的字段名]
    

    其中,新字段名为需要添加的字段名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到已存在字段名指定的字段后面。

    【例】在数据表 tb_new 中添加一个字段 city

    ALTER TABLE tb_new ADD city VARCHAR(20);
    

    使用 desc 查看 tb_new 表,发现在表的最后添加了一个名为 city 的字段

    mysql> desc tb_new;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | id      | int(11)     | YES  |     | NULL    |       |
    | newname | varchar(28) | YES  |     | NULL    |       |
    | sex     | tinyint(1)  | YES  |     | NULL    |       |
    | salary  | float       | YES  |     | NULL    |       |
    | city    | varchar(20) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)
    

    【例】在数据表 tb_new 第一列添加一个 INT 类型的字段 newid

    ALTER TABLE tb_new ADD newid INT(11) FIRST;
    

    使用 desc 查看 tb_new 表,发现在表的第一列添加了一个名为 newid 的 INT(11) 类型的字段

    mysql> desc tb_new;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | newid   | int(11)     | YES  |     | NULL    |       |
    | id      | int(11)     | YES  |     | NULL    |       |
    | newname | varchar(28) | YES  |     | NULL    |       |
    | sex     | tinyint(1)  | YES  |     | NULL    |       |
    | salary  | float       | YES  |     | NULL    |       |
    | city    | varchar(20) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)
    

    【例】在数据表 tb_new 中的 sex 列后添加一个 INT 类型的字段 ss

    ALTER TABLE tb_new ADD ss INT(11) AFTER sex;
    

    使用 desc 查看 tb_new 表

    mysql> desc tb_new;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | newid   | int(11)     | YES  |     | NULL    |       |
    | id      | int(11)     | YES  |     | NULL    |       |
    | newname | varchar(28) | YES  |     | NULL    |       |
    | sex     | tinyint(1)  | YES  |     | NULL    |       |
    | ss      | int(11)     | YES  |     | NULL    |       |
    | salary  | float       | YES  |     | NULL    |       |
    | city    | varchar(20) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    7 rows in set (0.00 sec)
    

    删除字段

    删除字段是将数据表中的某个字段从表中移除,其语法格式如下:

    ALTER TABLE <表名> DROP <字段名>;
    

    其中,字段名 指需要从表中删除的字段的名称

    【例】删除数据表 tb_new 中的字段 ss

    ALTER TABLE tb_new DROP ss;
    

    数据表的其他操作

    修改字段排序

    对于已经创建的数据表,也可以根据实际工作的需要修改字段的排列顺序,通常使用 ALTER TABLE 改变表中字段的排列顺序,其语法格式如下:

    ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST | IAFTER <字段2>;
    

    其中,字段1 指要修改位置的字段;数据类型字段1 的数据类型;FIRST 为可选参数,指将 字段1 修改为表的第一个字段;AFTER 字段2 指将 字段1 插入到 字段2 的后面。

    【例】将数据表 tb_new 中的 id 字段修改为表的第一个字段

    alter table tb_new modify id int(11) first;
    
    mysql> desc tb_new;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | id      | int(11)     | YES  |     | NULL    |       |
    | newid   | int(11)     | YES  |     | NULL    |       |
    | newname | varchar(28) | YES  |     | NULL    |       |
    | sex     | tinyint(1)  | YES  |     | NULL    |       |
    | salary  | float       | YES  |     | NULL    |       |
    | city    | varchar(20) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)
    

    【例】将数据表 tb_new 中的 newname 字段移动到 salary 字段的后面

    alter table tb_new modify newname varchar(28) after salary;
    

    更改表的存储引擎

    语法格式如下:

    ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
    

    【例】将数据表 db_2 的存储引擎修改为 MyISAM

    在修改存储引擎之前首先使用 SHOW CREATE TABLE 查看 db_2 表当前的存储引擎

    mysql> show create table db_2 G
    *************************** 1. row ***************************
           Table: db_2
    Create Table: CREATE TABLE `db_2` (
      `id` int(11) NOT NULL,
      `name` varchar(25) DEFAULT NULL,
      `sex` tinyint(1) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    从结果可以看出,db_2 表当前的存储引擎为 InnoDB,接下来修改存储引擎类型

    alter table db_2 ENGINE=MyISAM;
    

    再次查看发现已更改

    mysql> show create table db_2 G
    *************************** 1. row ***************************
           Table: db_2
    Create Table: CREATE TABLE `db_2` (
      `id` int(11) NOT NULL,
      `name` varchar(25) DEFAULT NULL,
      `sex` tinyint(1) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    删除表的外键约束

    对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系。MySQL中删除外键的语法格式如下:

    ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
    

    其中,外键约束名 指在定义表时 CONSTRAINT 关键字后面的参数

    【例】删除数据表 db_5 中的外键约束 fk_emp_dept1

    首先查看数据表 db_5 的结构

    mysql> SHOW CREATE TABLE db_5 G
    *************************** 1. row ***************************
           Table: db_5
    Create Table: CREATE TABLE `db_5` (
      `id` int(11) NOT NULL,
      `name` varchar(25) DEFAULT NULL,
      `deptId` int(11) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `fk_emp_dept1` (`deptId`),
      CONSTRAINT `fk_emp_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    下面开始删除数据表 db_5 的外键

    ALTER TABLE db_5 DROP FOREIGN KEY fk_emp_dept1;
    

    执行完毕之后将删除 db_5 表的外键约束,使用 SHOW CREATE TABLE 再次查看 db_5 表的结构

    mysql> SHOW CREATE TABLE db_5 G
    *************************** 1. row ***************************
           Table: db_5
    Create Table: CREATE TABLE `db_5` (
      `id` int(11) NOT NULL,
      `name` varchar(25) DEFAULT NULL,
      `deptId` int(11) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `fk_emp_dept1` (`deptId`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    删除数据表

    删除没有被关联的表

    在 MySQL 中使用 DROP TABLE 可以一次删除一个或多个没有被其他表关联的数据表,语法格式如下:

    DROP TABLE [IF EXISTS] 表1, 表2, ... 表n;
    

    其中,表n 指要删除的表的名称。用户可以同时删除多个表,只需将要删除的表名依次写在后面,相互之间用逗号隔开即可。

    【例】删除数据表 db_2

    drop table db_2;
    

    在语句执行完毕之后,使用 SHOW TABLES 查看当前数据库中所有的数据表,可以看出,数据列表中已经不存在名称为 db_2 的数据表,删除操作成功。

    删除被其他表关联的主表

    在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除将破坏表的参照完整性。如果必须删除,可以先删除与它关联的子表,再删除父表,只是这样同时删除了两个表中的数据。在有些情况下可能要保留子表,这时如果要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表。

    在数据库中创建两个关联表,tb_1 和 tb_2

    create table tb_1 (
        id int(11) primary key,
        name varchar(22)
    );
    
    create table tb_2 (
        id int(11) primary key,
        name varchar(25),
        wwid int(11),
        constraint fk_tb_dt foreign key (wwid) references tb_1(id)
    );
    

    查看 tb_2 表的外键约束

    mysql> show create table tb_2 G
    *************************** 1. row ***************************
           Table: tb_2
    Create Table: CREATE TABLE `tb_2` (
      `id` int(11) NOT NULL,
      `name` varchar(25) DEFAULT NULL,
      `wwid` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `fk_tb_dt` (`wwid`),
      CONSTRAINT `fk_tb_dt` FOREIGN KEY (`wwid`) REFERENCES `tb_1` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

    【例】删除父表 tb_1

    首先直接删除父表 tb_1,执行出错

    mysql> drop table tb_1;
    ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
    

    接下来解除关联子表 tb_2 的外键约束

    alter table tb_2 drop foreign key fk_tb_dt;
    

    该语句成功执行后将取消 tb_1 和 tb_2 表之间的关联关系,此时可以输入删除语句,将原来的父表 tb_1删除

    mysql> drop table tb_1;
    Query OK, 0 rows affected (0.01 sec)
    

    最后使用 SHOW TABLES 查看数据表列表,可以看出,数据表列表中已经不存在名称为 tb_1 的表

    注: 带 AUTO_INCREMENT 约束的字段值都是从 1 开始的吗?

    在默认情况下,MySQL 中 AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值就自动加 1。在设置自增属性 (AUTO_INCREMENT) 的时候还可以指定第一条插入记录的自增字段的值,这样新插入记录的自增字段值从初始开始递增。

  • 相关阅读:
    spring cloud/spring boot同时支持http和https访问
    解决to the cache because there was insufficient free space available after evict
    国外天气api 国际天气预报今天、未来3天、未来7天的天气预报信息接口
    java 访问get接口请求外部的json数据
    IDEA创建基于Maven的SpringBoot项目-多模块
    PostgreSQL提取每个ID的最后一行(Postgresql extract last row for each id)
    Vue项目引入百度地图
    Vue 引入天地图 & 地图类型切换
    js在新窗口打开链接
    mysql使用小数注意
  • 原文地址:https://www.cnblogs.com/qiuxirufeng/p/12885662.html
Copyright © 2020-2023  润新知