MySQL中的DDL,DML
MySQL中的DDL,DML
DDL:数据定义语言:
CREATE,ALTER,DROP
DB组件:数据库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器等
CREATE相关的常用命令:
CREATE DATABASE
CREATE EVENT
CREATE FUNCTION
CREATE FUNCTION UDF
CREATE INDEX
CREATE LOGFILE GROUP
CREATE PROCEDURE
CREATE SERVER
CREATE TABLE
CREATE TABLESPACE
CREATE TRIGGER
CREATE USER
CREATE VIEW
DML:数据操作语言
INSERT,DELETE,UPDATE,SELECT
数据库:
CREATE,ALTER,DROP
{DATABASE|SCHEMA}
[IF EXISTS]
[IF NOT EXISTS]
表:二维关系
设计表:遵循规范
定义:字段,索引
字段:字段名,字段数据类型,修饰符
约束:索引,应该创建在经常用作查询条件的字段上
索引:实现级别在存取引擎
分类:
稠密索引、稀疏索引
B+所以、hash索引、R树索引、FULLTEXT索引
聚集索引:数据和主键索引存放在一起,按主键索引次序进行存储
非聚集索引:索引和数据分开存放,索引通过指针找到原始数据所在位置
简单索引(只索引在一个字段上)、组合索引(索引在多个字段上)
创建表:
1、直接创建;
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...)
[table_options]
[partition_options]
2、通过查询现存的表创建:新表会被直接插入查询而来的数据;
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
3、通过复制现存的表的表结构创建:不复制数据。
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }
注意:Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎;
同一个库中的表要使用同一种存储引擎;
查看表结构:
DESCRIBE table_name
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| id | varchar(100) | NO | PRI | NULL | |
| createTime | datetime | YES | | NULL | |
| host | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| originalFilename | varchar(255) | YES | | NULL | |
| relativeUrl | varchar(255) | YES | | NULL | |
| relativeUrlAbb | varchar(255) | YES | | NULL | |
| savePath | varchar(255) | YES | | NULL | |
| savePathAbb | varchar(255) | YES | | NULL | |
| suffix | varchar(255) | YES | | NULL | |
| url | varchar(255) | YES | | NULL | |
| urlAbb | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
查看表的状态信息:
SHOW TABLE STATUS LIKE 'table_name'\G;
*************************** 1. row ***************************
Name: fansik # 表名
Engine: InnoDB # 存储引擎
Version: 10 # 版本号
Row_format: Dynamic # 行格式
Rows: 381042 # 已有行数
Avg_row_length: 401 # 现有的所有行的平均长度
Data_length: 153026560 # 表中数据的大小
Max_data_length: 0 # 表数据的最大容量,该值与存储引擎有关,0为不限制
Index_length: 0 # 索引大小,无索引
Data_free: 6291456 # 目前已分配,但尚未存入数据的空间,通常对myisam比较有用
Auto_increment: NULL # 下一次自动增长的字段
Create_time: 2017-07-11 10:12:06 # 表的创建时间
Update_time: 2017-10-13 15:58:52 # 表的最近一次的修改时间
Check_time: NULL # 最近一次使用checktable命令检查表的时间
Collation: utf8_general_ci # 排序规则
Checksum: NULL # 表的校验和
Create_options: # 创建表时其他的额外选项
Comment: # 注释信息
1 row in set (0.00 sec)
修改表:ALTER TABLE
删除表:DROP TABLE
MySQL中的DDL,DML的更多相关文章
- 关于mysql中的DDL,DML,DQL和DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- mysql中的DDL,DML,DQL,DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- Oracle中的DDL,DML,DCL总结
转自http://blog.csdn.net/w183705952/article/details/7354974 DML(Data Manipulation Language,数据操作语言):用于检 ...
- 数据库中的DDL/DML/DCL解释(转)
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.CREATE - ...
- MySQL中的DDL(Data Definition Language,数据定义语言)
create(创建表) 标准的建表语句: create table [模式名.]表名 ( #可以有多个列定义 columnName1 dataType [default expr(这是默认值)], . ...
- 【科普】MySQL中DDL操作背后的并发原理
一. 简介 DQL:指数据库中的查询(select)操作. DML:指数据库中的插入(insert).更新(update).删除(delete)等行数据变更操作. DDL:指数据库中加列(add co ...
- MySQL操作之DDL
目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
一个智障操作,drop一个用户,下面的东西比较多,删得比较慢,然后shell突然关了. 就导致了,删不掉,又不能创建新的用户.出版本要得比较急,就先创建新的用户测试去了. 今天要弄个东西,又想起这个事 ...
- MySQL中的DML、DQL和子查询
一.MySQL中的DML语句 1.使用insert插入数据记录: INSERT INTO `myschool`.`student` (`studentNo`, `loginPwd`, `student ...
随机推荐
- 551. Student Attendance Record I【easy】
551. Student Attendance Record I[easy] You are given a string representing an attendance record for ...
- 运行cotroller后,查看vuser日志为空
查看C:\Users\***\AppData\Local\Temp\res\log下,文件夹空,处理如下 run-time-setting中,选中always send message
- Angular 5 快速入门与提高
一.概述 尽管被称为Angular5,实际上它只是这个诞生于2012年的前端框架的的第四个版本: 看起来差不多半年就发布一个新版本,不过实际上从重写的版本2开始,开发 接口与核心思想就稳定下来了,并基 ...
- 【Mac + Appium学习(一)】之安装Appium环境前提准备
环境: Appium version :1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Android:6.0.1 Mac:10. ...
- Redis遍历所有key的两个命令 -- KEYS 和 SCAN
当我们需要遍历Redis所有key或者指定模式的key时,首先想到的是KEYS命令: KEYS pattern 官网对于KEYS命令有一个提示: KEYS 的速度非常快,例如,Redis在一个有1 ...
- 结构体成员管理AVClass AVOption之1AVClass
AVOption用于描述结构体中的成员变量.它最主要的作用可以概括为两个字:“赋值”. 一个AVOption结构体包含了变量名称,简短的帮助,取值等信息. 所有和AVOption有关的数据都存储在AV ...
- springmvc 环境配置图
- JSP接口浅析
一.tree型关系 JSP页面继承了org.apache.jasper.runtime.HttpJspBase抽象类并实现了org.apache.jasper.runtime.JspSourceDep ...
- 寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器
先展示播放器效果: 依然继承 Listo 本人的强迫症,还是从最初到完毕完整的写一个攻略来记录一下,这里声明 Listo 本人也是看了非常多的戴维营攻略才总结分享给大家这一篇攻略的. 首先,Lis ...
- 什么是 HTTPS
HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议. 你也可以说:HTTPS = HTTP + SSL HTTPS 在 ...