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 ...
随机推荐
- 浅谈js中继承的理解和实现
一.前言 java.C#等正统面向对象语言都会提供类似extend之类的处理类的继承的方法,而javascript并没有提供专门的方法用于继承,在javascript中使用继承需要一点技巧.js中实例 ...
- C#检测浏览器类型 Detect Browser
private void Button1_Click(object sender, System.EventArgs e) { System.Web.HttpBrowserCapabilities b ...
- [转载]几个开源Javascript图形库
[转载]原文地址:http://www.cnblogs.com/webgis8/articles/1516639.html 因为Google Map项目的需要,最近一直在寻求相关的Javascript ...
- Hybird App ( 混合模式移动应用)开发初体验
最近1,2个月一直都尝试开发一款Hybird app,遇到了很多问题,谈谈自己的体会. Hybird app (混合模式移动应用),它利用例如安卓端webview组件+HTML5内嵌的方式混合的方式开 ...
- WCF 动态调用(1)
很多时候,服务地址都不止一个的,这个时候就要动态去配置地址.配置Web.config,很麻烦 下面就看看怎样实现动态调用WCF. using System; using System.Collecti ...
- 获取CPU个数
PROCESSER=`grep 'processor' /proc/cpuinfo | wc -l` JOBSS=$[$PROCESSER*2]
- Nginx编译安装第三方模块http_substitutions_filter_module
Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术 作者:rming 时间:-- . >>ngx_http_substitu ...
- iOS开发密码输入数字和字母混合
#import "TestInPut.h" @implementation TestInPut +(BOOL)judgePassWordLegal:(NSString *)pass ...
- Mysql 5.7 liunx 忘记密码的补救方法
linux下mysql的root密码忘记解决方 1.修改MySQL的登录设置 # vim /etc/my.cnf 在[mysqld]的段中加上一句: skip-grant-tables 例如: [my ...
- Oracle----oracle编程总结
1,SEQUENCE的使用 问题:在MSSQL中,我们可以通过设置自增长来作为主键,但是oracle里面没有这个 解决方案:使用SEQUENCE来实现,具体步骤如下 (1)首先建立一个序列(就是每次查 ...