关闭

msyql数据语句DDL,DML,DCL分类描述

标签: mysql
125人阅读 评论(0) 收藏 举报
分类:

mysql遵循sql语义,sql数据库查询语言分为三个类型,分别是DDL(Data Definition Language)语句,DML(Data Manipulation Language)语句,以及DCL(Data Control Language)语句。


DDL:数据定义语句,对数据库内部的对象进行创建、删除、修改的操作语言。


创建数据库:create database databasename;


查看数据库: show databases;



选择数据库: use databasename;

用上图做例子,要选择刚创建名为ceshi的数据库则应该输入use ceshi;


删除数据库:drop database databasename;

同样用上面的例子:drop database ceshi;


创建数据表:create table tablename(columnname1 type,columnname2 type,...);(首先要选择数据库,如果没有选择数据库进行创建,默认将该表创建到了test数据库中)



查看表的定义,可以使用desc或者使用show create table tablename \G;



修改表名:alter table tablename rename tablename2;


删除表:drop table tablename(用法和删除database一样);


修改表:alter table tablename add/drop/change/modify columnname 【columnname_change】【type】【first/after columnname2】(【】内为根据情况可选的更改项目,以下全用上图的emp表进行举例);


添加列:alter table emp add add_col int after id;(在emp表中添加一个名为add_col的列,同时数据类型为int,位于id列后,如果用first后不需要接列名,因为它默认将新加的列改为第一列)


删除列:alter table emp drop add_col;


修改列:alter table emp modify add_col varchar(10) first;(将add_col的列从int数据类型改为varchar,同时将列的序列改为第一列,modify不能改变列名,用change可以改变列名,但需要在原有类名后再次添加新的列名,这就是modify和change的区别,下面是change的示例)


alter table emp change add_col col int after id;(这里又将emp的add_col列改名为col,同时改变数据类型为int,该列位于id列后)


DML:数据操作语句,对数据表(DDL是对数据库,注意这是两者的区别)内部的对象进行创建、删除、修改的操作语言。


一插入记录:

insert into tablename(field1,field2...fieldn) values(value1,value2...valuen),【(value1,value2...valuen)】,【(value1,value2...valuen)】...【(value1,value2...valuen)】;

上面【】内的是可选内容,只有在需要一次性多次插入的时候用的。

例如单次插入记录:


多次插入记录,这里是插入记录两次,以此类推即可:



二更新记录:

update tablename set field1=value1,field2=value2... fieldn=valuen 【where condition】;



update不止可以改一个表的内容,还可以同时更改多个表的内容

update t1,t2...tn set t1.field1=value1,tn.fieldn=valuen 【where condition】;

例如下面根据deptno条件改动emp表和dept表的内容:



三删除记录:

delete from tablename 【where condition】;



和update一样,delete也可以同时删除多个表的内容!


这里可以用别名,以上句子改为

delete name1,name2 from t1 name1,t2 name2 【wehre condition】;


注意:delete如果不加where条件,则会删除所有的记录。


四查询记录:

select field1,field2..fieldn/* from tablename 【where condition】;


如果要查询不重复的信息,可以在后面加distinct关键词



在查询过程中,经常需要用where进行条件查询!这里通常要利用>,<,>=,<=,=,!=的比较运算符,或者是用or,and等逻辑运算符来进行多条件联合查询。



在查询过程中经常还会需要对查询出来的记录进行排序,这里使用order by【desc/asc】,desc是按照字段进行降序,而asc则相反是升序排序。




关键词limit在查询语句中可以限制查询记录的条数。



以上是一些基本的查询记录的方法,至于查询语句的聚合,表连接等将单独进行描述。


DCL:主要是DBA使用,开发人员很少使用,是对管理系统的对象权限管理。(这里不详述)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34595次
    • 积分:759
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:3篇
    • 译文:0篇
    • 评论:16条
    文章分类
    最新评论