MySQL入门(4)——操作数据表
MySQL入门(4)——操作数据表
创建数据库
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据库名
[(create_definition,...)] [table_options] [select_statement]
| 关键词 | 说明 |
|---|---|
| TEMPORARY | 如果使用该关键字,表示创建一个临时表 |
| IF NOT EXISTS | 该关键字用于避免表存在时MySQL报告的错误 |
| create_definition | 表的一些特性参数,其中大多数选项涉及的是表数据如何存储及存储在何处,如ENGINE选项用于定义表的存储引擎;多数情况下用户不必指定表选项 |
| select_statement | SELECT语句描述部分,快速创建表 |
列属性create_definition定义的具体格式为:
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY] [reference_definition]
| 参数 | 说明 |
|---|---|
| col_name | 字段名 |
| type | 字段类型 |
| NOT NULL|NULL | 指出该列是否允许空值(系统一般默认允许为空值) |
| DEFAULT default_value | 表示默认值 |
| AUTO_INCREMENT | 表示是否自动编号,每个表只能有一个AUTO_INCREMENT列,并且必须被索引 |
| PRIMARY KEY | 表示是否为主键,一个表只能有一个PRIMARY KEY;如果表中没有一个PRIMARY KEY,而某些应用程序需要PRIMARY KEY,MySQL将返回第一个没有任何NULL列的UNIQUE键作为PRIMARY KEY |
| reference_definition | 为字段添加注释 |
查看表结构
SHOW COLUMNS语句
SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];
或
SHOW [FULL] COLUMNS FROM 数据表名.数据库名;
DESCRIBE语句
DESCRIBE 数据表名;
其中,DESCRIBE可以简写为DESC。在查看数据表结构时,也可只列出某一列的信息:
DESCRIBE 数据表名 列名;
修改表结构
修改表结构使用ALTER TABLE语句。修改表的结构指增加或删除字段、修改字段名称或类型、设置取消主键外键、设置取消索引以及修改表的注释等。语法如下:
ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...| table_options
参数说明:
- [IGNORE]:可选项,表示如果出现重复的关键行,则只执行一行,其它重复行被删除;
- 数据表名:用于指定要修改的数据表的名称;
- alter_spec子句:用于定义修改的内容;
- table_options:用于指定表的一些特性参数,其中大多数选项涉及的是表数据如何存储及存储在何处,如ENGINE选项用于定义表的存储引擎,多数情况下用户不必指定表选项。
alter_spec定义项众多:
ADD [COLUMN] create_definition [FIRST | AFTER column_name] //添加新字段
| ADD INDEX [index_name] (index_col_name,...) //添加索引名称
| ADD PRIMARY KEY (index_col_name,...) //添加主键名称
| ADD UNIQUE [index_name] (index_col_name,...) //添加唯一索引
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} //修改字段默认值
| CHANGE [COLUMN] old_col_name create_definition //修改字段名/类型
| MODIFY [COLUMN] create_definition //修改子句定义字段
| DROP [COLUMN] col_name //删除字段名称
| DROP PRIMARY KEY //删除主键名称
| DROP INDEX index_name //删除索引名称
| RENAME [AS] new_tbl_name //更改表名
上述定义项各参数说明:
- create_definition:用于定义列的数据类型和属性,上文提及;
- [FIRST | AFTER column_name]:用于指定位于哪个字段的前面或后面;
- [index_name]:可选项,用于指定索引名;
- (index_col_name,...):用于指定索引列名;
- {SET DEFAULT literal | DROP DEFAULT}子句:为字段设置或删除默认值,literal参数为要设置的默认值;
- old_col_name:用于指定要修改的字段名;
- new_tbl_name:用于指定新的表名。
重命名表
RENAME TABLE 数据表名1 TO 数据表名2
该语句可以同时对多个数据表进行重命名,多个表之间以逗号“,”分隔。
复制表
CREATE TABLE [IF NOT EXISTS] 数据表名
{LIKE 源数据表名 | (LIKE 源数据表名)}
参数说明:
- [IF NOT EXISTS]:可选项,表示当要创建的数据表不存在时才会创建,以避免错误;
- 数据表名:表示新创建的数据表名存在时,将出现错误;
- {LIKE 源数据表名 | (LIKE 源数据表名)}:必选项,用于指定依照哪个数据表来创建新表。
使用该语法复制数据表时,将创建与源数据表结构相同的新表,该数据表的列名、数据类型、空指定、索引都会被复制,但内容不会被复制。如果需要复制内容,可通过AS(查询表达式)子句来实现:
CREATE TABLE 新表名
AS SELECT * FROM 旧表名;
删除表
DROP TABLE [IF EXISTS] 数据表名;
参数说明:
- [IF EXISTS]:可选项,用于删除表前判断是否存在要删除的表,以避免错误;
- 数据表名:用于指定要删除的数据表名,可以同时删除多张数据表,表名之间用半角逗号“,”分隔。
MySQL入门(4)——操作数据表的更多相关文章
- 【MySQL】(4)操作数据表中的记录
1. 插入记录INSERT 方法一: INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),( ...
- nodejs+mysql入门实例(表的查询)
//连接数据库 var mysql = require('mysql'); var connection = mysql.createConnection({ host: '******', //数据 ...
- mySQL入门之多表操作
外键 初识外键 外键:引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束.(外键用于建立和加强两个表数据之间的连接,保证数据的完整和统一性) 主表:被引用的表 从表:引用外键的表 -- ...
- 【授课录屏】JavaScript高级(IIFE、js中的作用域、闭包、回调函数和递归等)、MySQL入门(单表查询和多表联查)、React(hooks、json-server等) 【可以收藏】
一.JavaScript授课视频(适合有JS基础的) 1.IIFE 2.js中的作用域 3.闭包 4.表达式形式函数 5.回调函数和递归 资源地址:链接:https://pan.baidu.com/s ...
- MySQL使用SQL操作数据表的增加、修改和删除
表的修改和删除 修改 -- 修改表名称 -- ALTER TABLE 旧表名 RENAME AS 新表名 ALTER TABLE test RENAME AS test1 -- 增加表字段 -- AL ...
- MYSQL操作数据表中的记录
36:操作数据表中的记录插入记录 INSERT INTO 表名 VALUES(); 或者INSERT 表名 VALUES(); UPDATE更新记录(单表更新) DELETE删除记录( ...
- MySQL 命令操作数据表
MySQL 命令操作数据表 1.查看表信息 desc hs_user_credit_info; 2.新增表字段 alter table hs_credit_order add search_relat ...
- MySQL学习之路(二)——数据类型和操作数据表
数据类型和操作数据表 2.1 MySQL类型之整型 2.2 MySQL数据类型之浮点型 2.3 日期时间型 DATE 1支持时间:1000年1月1日~9999年12月31日 DATETIME 3 支持 ...
- MySQL入门第一天——概述、数据表与约束操作
一.概述 1.安装 初学MySQL,我们下载msi的安装版:http://dev.mysql.com/downloads/file.php?id=457403 安装的过程文字简述可以参考之前随笔:ht ...
随机推荐
- linux无需root挂载iso镜像文件
引言 起初,我在针对deepin制作一款appimage安装工具,想要其实现的功能就是自动获取图标,只需要输入软件名称和分类即可,当然以后也会寻找方案省去手动输入的麻烦. 后来我发现一个有趣的问题 o ...
- C# 类 (12) - Partial
Partial 前面说了,同一个namespace 里 class 名字是不能重的,除非是在不同的namespace里,下面开始打脸在同一个namespace里,加上partial 关键字,可以写同样 ...
- Python源码剖析——02虚拟机
<Python源码剖析>笔记 第七章:编译结果 1.大概过程 运行一个Python程序会经历以下几个步骤: 由解释器对源文件(.py)进行编译,得到字节码(.pyc文件) 然后由虚拟机按照 ...
- 深入理解JavaScript中的箭头
箭头函数可以使我们的代码更加简洁,如下: var sum = (a,b) => a+b; JavaScript 充满了我们需要编写在其他地方执行的小函数的情况. 例如: arr.forEach( ...
- u-boot 移植 --->1、u-boot配置(Kbuild)
早期的U-BOOT的裁剪是没有使用Kbuild工具的,后来就借鉴了Linux的Kbuild同时也是方便使用者裁剪,因为他的原理和Linux内核的配置裁剪原理是相同的.今天拿来分析的U-Boot的版本是 ...
- C#通过NI-VISA操作Tektronix TBS 2000B系列示波器
一.概述 本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器.接口协议采用NI-VISA. 最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到波形数 ...
- Adaptive Threshold
Adaptive Threshold 1. Otsu's Binarization: Using a discriminant analysis to partition the image into ...
- reCAPTCHA OCR 详解 , 验验证, OCR(光学自动识别)
WEB安全专题 reCAPTCHA的诞生及意义 CMU(卡耐基梅隆大学)设计了一个名叫reCAPTCHA的强大系统,让电脑去向人类求助.具体做法是:将OCR(光学自动识别)软件无法识别的文字扫 ...
- 末日余晖 PC 版 下载
末日余晖 PC 版 下载 <末日余晖>(英文名:Farlight 84)一款废土题材的射击游戏 Farlight 84 Official Trailer Farlight 84 官方预告片 ...
- webfullstack website
webfullstack website refs https://www.lanqiao.cn/paths/ xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许 ...