概念
在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。
1、创建数据表
说明:数据表属于数据库,在创建数据表之前,应该使用语句“USE <数据库实例名>”指定操作的数据库实例。

USE cuixiaozhao;#使用数据库实例-cuixiaozhao;

 CREATE TABLE <表名>(
字段名1,数据类型 [列级别的约束条件] [默认值],
字段名2,数据类型 [列级别的约束条件] [默认值],
字段名3,数据类型 [列级别的约束条件] [默认值],
......
[表级别的约束条件]
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

举例说明

CREATE TABLE empoyee(

id INT(11),

name VARCAHR(20),

deptId INT(11),

salary FLOAT

)ENGINE=InnoDB DEFAULT CHARSET = utf8;

 主键,又称主码,是表中一列或多列的组合。数据唯一、不允许为空。可结合外键来定义不同数据表之间的关系并且加快数据库查询速度。分为单字段主键和多字段联合主键。
create table tb1(
nid int not null auto_increment primary key,
num int null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

create table tb2(
nid int not null,
num int not null,
primary key(nid,num)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

主键约束

 外键,用来在两个表之间建立连接关系,可以是一列或者多列。一张表可以有一个或多个外键,作用保持数据的一致性和完整性。
主表(父表),即主键所在的表;
从表(子表),外键所在的表;
CREATE TABLE color (
nid INT NOT NULL PRIMARY KEY,
NAME CHAR (20) NOT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8; CREATE TABLE fruit (
nid INT NOT NULL PRIMARY KEY,
smt CHAR (32) NULL,
color_id INT NOT NULL,
CONSTRAINT fk_cc FOREIGN KEY (color_id) REFERENCES color (nid)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

外键约束

 非空约束,Not Null Constraint,指字段的值不能为空。
1、null #可为空
2、not null#不可为空
语法:
字段名 数据类型 NOT NULL

非空约束

 唯一性约束,Unique Constraint,要求该列唯一,可以为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。
语法:
字段名 数据类型 UNIQUE

唯一约束

 默认约束,Default Constraint,指定某列的默认值。
语法:
字段名 数据类型 DEFAULT 默认值
如果插入一条新纪录时,没有为该字段赋值,那么系统会自动为这个字段赋值为设定的默认值。

默认约束

 在数据库应用中,希望在每次插入新纪录时,系统自动生成字段的主键值。可通过为表的主键增加AUTO_INCREMENT 关键字来实现。MySQL中默认初始值为1,一条记录自动加1,一个表只能有一个字段使用AUTO_INCREMENT 约束,且该字段必须为主键的一部分。AUTO_INCREMENT 的字段类型可以是任何整数类型(TINYINT\SMALLINT\INT\BIGINT等)
语法:
字段名 数据类型 AUTO_INCREMENT

自增约束

注意:外键约束PREIGN KEY 不能跨MySQL存储引擎使用!因为外键约束是用来保证数据的参照完整性,如果之间需要关联外键,却指定了不同的存储引擎,这些表之间是不能创建外键约束的。

2、查看数据表结构

  • 查看表基本结构语句DESCRIBE               DESCRIBE表名或者简写为DESC 表名;
 ysql> DESC tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec) mysql> DESCRIBE tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql>
  • 查看详细结构语句SHOW CREATE TABLE   SHOW CREATE TABLE 表名;
 mysql> SHOW CREATE TABLE tb_emp1;
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_emp1 | CREATE TABLE `tb_emp1` (
`id` int(11) NOT NULL,
`name` varchar(25) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
`salary` float DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql>

3、删除数据表

DROP TABLE 表名

  • 删除没有被关联的表

语法:DROP TABLE [IF EXISTS] 表1,表2,表3,表n;#加上IF EXISTS 参数,如果表不存在,SQL语句可以顺利执行,但是会发生警告(warnig)

  • 删除被其他表关联的主表

1、可以先删除关联的子表,再删除父表,但同时删除了两张表;

2、删除关联表的外键约束,在删除父表,保留了子表;

4、清空表

  • DELETE FROM 表名;
  • TRUNCATE TABLE 表名;

5、修改表

修改表指的是修改数据库中已存在的数据表结构。MySQL中使用ALTER TABLE 语句修改表。包含:需改表名、字段名、字段的数据类型、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束!

1、修改表名

ALTER TABLE <旧表名> RENAME [TO] <新表名>;#其中,TO为可选参数;

 mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cuixiaozhao |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec) mysql> USE cuixiaozhao;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_cuixiaozhao |
+-----------------------+
| tb_cxz |
+-----------------------+
1 row in set (0.00 sec) mysql> DESC tb_cxz;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql> SHOW CREATE TABLE tb_cxz;
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_cxz | CREATE TABLE `tb_cxz` (
`id` int(11) NOT NULL,
`name` varchar(25) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
`salary` float DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> ALTER TABLE tb_cxz RENAME TO tb_cxs;
Query OK, 0 rows affected (0.00 sec) mysql> SHOW TABLES;
+-----------------------+
| Tables_in_cuixiaozhao |
+-----------------------+
| tb_cxs |
+-----------------------+
1 row in set (0.00 sec) mysql>

修改表名

注意:修改表名并不修改表的结构;

2、修改字段的数据类型

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

 mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs MODIFY name VARCHAR(30);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql>

修改字段的数据类型

3、修改字段名

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

 修改字段名,数据类型保持不变;
mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs CHANGE salary pay float;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) 即修改字段名称,同时修改数据类型;
mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs CHANGE salary pay INT(10);
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql>

修改字段名

小结:CHANGE也可以只修改数据类型,实现和MODIFY同样的效果,方法是:将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”!

但是,由于不同的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录,因此,当数据表中已经存在数据时,不要轻易修改数据类型;

4、添加字段

ALTER TABLE <表名> <新字段名> <数据类型> [约束条件] [ FIRST | AFTER 已存在的字段名 ];#FIRST 与AFTER为可选参数,如果没有,默认将新字段添加至最后列;

  • 添加无完整性约束条件的字段 ALTER TABLE tb_cxs ADD column1 VARCHAR(20);
  • 添加有完整性约束条件的字段 ALTER TABLE tb_cxs ADD column1 VARCHAR(20) NOT NULL;
  • 在表中的第一列添加字段 ALTER TABLE tb_cxs ADD column1 VARCHAR(20) NOT NULL FIRST;
  • 在表中的最后一列添加字段 ALTER TABLE tb_cxs ADD column1 VARCHAR(20) NOT NULL;
  • 在表的指定列之后添加字段(即为在表的指定列之前添加字段,是一个相对概念)ALTER TABLE tb_cxs ADD column1 VARCHAR(20) NOT NULL AFTER name;
 mysql> DESC tb_cxs;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs ADD column1 VARCHAR(20) NOT NULL;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
| column1 | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
mysql> ALTER TABLE tb_cxs ADD column0 INT(11) FIRST;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
| column1 | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs ADD column2 INT(11) AFTER name;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
| column1 | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

添加字段

5、删除字段

删除字段是将数据表中的某个字段从表中移除的过程。

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

 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
| column1 | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
mysql> ALTER TABLE tb_cxs DROP column1;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec) mysql>

删除字段

6、修改字段的排列位置

修改字段的相对排列位置。

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

  • 修改字段为表的第一个字段
  • 修改字段到表的指定列之后
 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
mysql> ALTER TABLE tb_cxs MODIFY pay INT(10) FIRST;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| pay | int(10) | YES | | NULL | |
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec) mysql> ALTER TABLE tb_cxs MODIFY pay INT(10) AFTER name;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_cxs;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| column0 | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| pay | int(10) | YES | | NULL | |
| column2 | int(11) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec) mysql>

修改字段的排列位置

7、更改表的存储引擎

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现;其中,主要的存储引擎有:MyISAM、InnoDB、MEMORY(HEAP)、BDB、FEDERATED等。

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

 mysql> SHOW CREATE TABLE tb_cxs;
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_cxs | CREATE TABLE `tb_cxs` (
`column0` int(11) DEFAULT NULL,
`id` int(11) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pay` int(10) DEFAULT NULL,
`column2` int(11) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> ALTER TABLE tb_cxs ENGINE=MyISAM;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> SHOW CREATE TABLE tb_cxs;
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_cxs | CREATE TABLE `tb_cxs` (
`column0` int(11) DEFAULT NULL,
`id` int(11) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pay` int(10) DEFAULT NULL,
`column2` int(11) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql>

更改表的存储引擎

8、删除表的外键约束

对于数据库表中定义的外键,不在需要时可以将其删除。外键一旦删除,将解除主从表之间的关联关系。

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

 mysql> SHOW CREATE TABLE tb_emp9;
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_emp9 | CREATE TABLE `tb_emp9` (
`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_dept` (`deptId`),
CONSTRAINT `fk_emp_dept` FOREIGN KEY (`deptId`) REFERENCES `tb_cxs` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> SHOW CREATE TABLE tb_emp9;
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_emp9 | CREATE TABLE `tb_emp9` (
`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_dept` (`deptId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql>

删除表的外键约束

9、修改默认值

  • 修改默认值:ALTER TABLE <表名> ALTER  <字段名> SET DEFAULT 1000;
  • 删除默认值:ALTER TABLE  <表名> ALTER <字段名> DROP DEFAULT;

10、增加、删除主键

  • 添加主键:
          ALTER TABLE <表名>  ADD PRIMARY KEY(字段名);
  • 删除主键:
             ALTER TABLE <表名>  ADD PRIMARY KEY;#此处不需要指定字段名,因为主键默认只有一个;
            ALTER TABLE <表名>  MODIFY  <字段名> <字段类型> DROP PRIMARY KEY;

MySQL5.7(三)数据表操作的更多相关文章

  1. mysql(三) 数据表的基本操作操作

    mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...

  2. MySQL 数据表操作

    MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create  table  table_name (c ...

  3. 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数

    孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...

  4. mysql数据表操作&库操作

    首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...

  5. mysql 数据表操作 目录

    mysql 数据表操作 存储引擎介绍 mysql 使用存储引擎 mysql 数据表的增删改查 mysql 数据类型 mysql 约束条件

  6. Mysql之数据表操作

    数据表操作: 查看当前数据库中所有的表: show tables; 查看当前使用数据库: select database(); 使用数据表: use 表名; 创建数据表: create table 数 ...

  7. sql总结-----数据表操作

    数据表概述 表示一种最常见的组织数据的方式,一张表一般有多个列(即多个字段). oracle提供了多种内置的列的数据类型,常用的有以下五种: 1.字符类型 字符数据类型用于声明包含字母.数字数据的字段 ...

  8. mysql笔记1—安装、配置和基础的数据表操作

    本篇笔记主要分为两部分: 1,安装完毕之后的简单配置 2,数据的类型.简单的数据表操作命令 一.mysql安装完毕之后 windows和linux环境,除mysql的安装.配置有所不同,其他操作一样, ...

  9. Sql Server系列:数据表操作

    表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...

随机推荐

  1. 那些年,被我蠢哭了的php代码小错误~~~

    首先,我爱敲代码!!!而且我很喜欢修改bug,在看到那些bug的时候,我是兴奋的,毕竟当你解决这个bug之后感觉是很爽的. 在学习的过程中,看到无数的bug,有一些错误是很微小的,一般在PHP中都能通 ...

  2. pta 编程题15 列出连通集

    其它pta数据结构编程题请参见:pta 题目 题目要求分别以深度优先搜索和广度优先搜索输出图的连通集. 广度优先搜索要用到队列,先回顾一下循环队列: struct QNode { int* Data; ...

  3. Android(java)学习笔记91:Eclipse中代码提示去掉@override,不然就报错!

    1. Eclipse中提示去掉@Override 把项目下载下来后有@Override的注释的方法会报错,如果把@Override去掉就不报错了.经过查阅后发现:@override注释在jdk1.5环 ...

  4. System.Threading

    线程:定义为可执行应用程序中的基本执行单元. 应用程序域:一个应用程序内可能有多个线程. 上下文:一个线程可以移动到一个特定的上下文的实体 导入命名空间: //得到正在执行这个方法的线程 Thread ...

  5. React后台管理系统-file-uploader组件

    1.React文件上传组件github地址: https://github.com/SoAanyip/React-FileUpload 2.Util里边新建file-uploader文件夹,里边新建i ...

  6. IPV6验证正则表达式

    验证ipv6的正则表达式: 例:fe80::ec61:c1d1:9827:82be%13 \s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9 ...

  7. WebSocket 详解

    WebSocket 出现前 构建网络应用的过程中,我们经常需要与服务器进行持续的通讯以保持双方信息的同步.通常这种持久通讯在不刷新页面的情况下进行,消耗一定的内存资源常驻后台,并且对于用户不可见.在 ...

  8. ASP.NET 自定义路由 RouteBase

    适用场景:当前项目有一个接口:http://xxx.com/a.aspx,现在我们在不需要a.aspx这个文件的,直接处理这个地址的请求,我们可以做很多的事情,比如,直接返回一个静态的JSON文件内容 ...

  9. Python读取内容UnicodeDecodeError错误

    1.错误现象 环境:Python3.7 描述: 用open方法获取文件句柄: 用read/readlines方法一次读取文件所有内容: 尝试了编码GB2312/GBK/GB18030/UTF-8,发现 ...

  10. linux 命令学习(持续完善中...)

    linux 命令学习(持续完善中...) 主要是记录一些开发过程中用到的linux命令,慢慢补充 一.用户 1.添加用户: useradd 用户名 2.设置密码:passwd 用户名 ,然后按照提示输 ...