当前位置:首页 > 财经知识 > 正文

(dML是什么意思)MySQL之DDL、DML、DCL篇

本人之前一直是用的时oracle数据库,最近项目使用了MySQL,正好学习整理了下,此文章只为巩固学习和总结MySQL操作,故有些地方描述不是很完整和详细。

(dML是什么意思)MySQL之DDL、DML、DCL篇  第1张

SQL Language

  • DDL(Data Definition Language):数据定义语言,用来操作数据库、表、列、索引等数据库对象。关键字主要包括create、drop、alter等。

  • DML(Data Manipulation Language):数据操纵语句,用于增删改查,检测数据完整性。关键字主要包括insert/delete/update/select等。

  • DCL(Data Control Language):数据控制语句,用于定义数据库、表、字段、用户的访问权限和安全级别。主要关键字包括grant、revoke等。

DDL语句

数据库的创建、删除、显示、引入。

创建数据库:

CREATE DATABASE [IF NOT EXISTS] 数据库名;

删除数据库:

DROP DATABASE [IF EXISTS] 数据库名;

显示所有已建立的数据库名称列表:

SHOW DATABASES;

引入数据库为当前数据库:

USE 数据库名;

创建表:

语法格式如下:

CREATE TABLE [IF NOT EXISTS] 表名称

(

字段名1 列类型 [属性] [索引],

...

字段名n 列类型 [属性] [索引]

)[表类型] [表字符集];

eg:

create table if not exists users(

id int(10) unsigned not null auto_increment,

username varchar(50) not null,

userpass varchar(50) not null,

telno varchar(20) not null unique,

sex enum('男','女') not null default '男',

brithday date not null default '0000-00-00',

primary key(id),

index users_username(username,userpass)

)ENGINE=MyISAM default character set utf8 collate utf8_general_ci;

上述中设置表类型为MyISAM使用ENGINE而不是Type。最后一句的意思是:指定默认创建的表字符集(character set)为utf8,校对规则是utf8_general_ci。

表创建成功后,可以使用“show tables”命令查看,使用“describe 表名”或者“desc 表名”命令用于显示表的创建结构。

删除表

drop table [if exists] 表名;

修改表

为指定的数据表新增一个字段:

alter table 表名 add 字段名 <建表语句> [firstafter 列名]

语法解析:

[firstafter 列名]:在指定的列名之前或之后添加

eg:在users表的第一列之前添加name列

alter table users add name varchar(30) not null first;

在users表的userpass之后添加height列:

alter table users add height double not null default '0.00' after userpass;

修改字段的类型或名称:

可以使用change或者modify子句,如果列名相同,则change和modify的作用相同。

alter table 表名 change/modify 列表<建表语句>。

eg:

修改users表中telno字段,将类型改为int,并设置默认值

alter table users modify telno int unsigned default '0';

如果要修改列名,使用change,change除了更改类型外还能更改列名,而modify不能实现修改列名这个功能。

eg:

修改users表的telno的类型,并将telno命名为phone

alter table users change telno phone int unsigned default '0';

注意:使用change,即使不更改列名,也需要在定义中包括相应的列名,即上述的“telno phone”需要写作“telno telno”。

重命名数据表

alter table 旧表名 rename 新表名;

删除表字段

alter table 表名 drop 列名;

(dML是什么意思)MySQL之DDL、DML、DCL篇  第2张

mysql

DML语句

插入记录

插入单条记录:

insert into tablename(column1,column2...columnN) values(v1,v2...vN);

一次性插入多条记录:

insert into tablename(column1,column2,……columnN)

values

(r1_v1,r1_v2,……r1_vN),

(r2_v1,r2_v2,……r2_vN);

查询数据

使用LIMIT关键字,查询指定部分的数据,语法:

select ....from tablename [where..] [order by ..] limit startindex,rowcount

startindex表示起始偏移量,默认为0;rowcount表示查询的行数。

聚合查询

语法:

select [col1,col2,...coln] fun_name

from tablename

[where 条件语句]

[group by col1,col2,..coln

[with rollup]]

[having 分组后的条件语句]

说明:

fun_name:聚合函数

with rollup是可选语法,表明是否对分类聚合后的结果进行再汇总。eg:select wy,count(1) from user group by wy with rollup,该语句将会对最终的count(1)再进行汇总。

(dML是什么意思)MySQL之DDL、DML、DCL篇  第3张

thank



其他人还搜:
dml是什么意思
股票dml是什么意思
数据库dml是什么意思
数据库ddl和dml是什么意思
电脑出现hdml是什么意思
ddl dml是什么意思
dml是什么意思网络用语
dml是什么意思骂人的吗
dml是什么意思电商
dml是什么意思医学

0
取消
扫码支持 支付码