MySQL的DDL和DML操作语法

 一、SQL分类

         SQL ,英文:Structured Query Language,结构化查询语言。是用于操作关系型数据库的编程语言。SQL定义操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,以后工作中如果使用到了其他的数据库管理系统,也同样的使用SQL来操作。

        SQL的分类:

         1). DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等。DDL简单理解就是用来操作数据库,表等

         2). DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

  DML简单理解就对表中数据进行增删改

         3). DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

  DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据。

        4).  DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。

> 注意: 以后我们最常操作的是 `DML` 和 `DQL`  ,因为我们开发中最常操作的就是数据。

二、MySQL的DDL操作语法

(一)DDL操作数据库

        DDL来操作数据库。而操作数据库主要就是对数据库的增删查操作。
        

        1)查询所有的数据库

                

SHOW DATABASES;


        2)创建数据库:

语法:         
    

        CREATE DATABASE 数据库名称;

        CREATE DATABASE IF NOT EXISTS 数据库名称;

        而在创建数据库的时候,我并不知道db1数据库有没有创建,直接再次创建名为db1的数据库就会出现错误。
        从上面的效果可以看到虽然db1数据库已经存在,再创建db1也没有报错,而创建db2数据库则创建成功。

        3)删除数据库
        

        DROP DATABASE 数据库名称;

        DROP DATABASE IF EXISTS 数据库名称;   -- 删除数据库(判断,如果存在则删除)

        4)使用数据库
        数据库创建好了,要在数据库中创建表,得先明确在哪儿个数据库中操作,此时就需要使用数据库。
        使用数据库 语法:
        

USE 数据库名称;

        5)查看当前使用的数据库

语法:
        

SELECT DATABASE();

(二)操作表

        操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)。

1)查询当前数据库下所有表名称

SHOW TABLES;


2查询表结构

DESC 表名称;


查看mysql数据库中func表的结构,运行结果如下图:

3)创建表

语法:

CREATE TABLE 表名 (
    字段名1  数据类型1,
    字段名2  数据类型2,
    …
    字段名n  数据类型n
);
--注意:最后一行末尾,不能加逗号

--demo:
create table tb_user (
    id int,
    username varchar(20),
    password varchar(32)
);

4) 删除表

删除表语法:

--删除表

DROP TABLE 表名;

--删除表时判断表是否存在

DROP TABLE IF EXISTS 表名;

5)修改表

修改表语法:

1.修改表名

-- 修改表名
ALTER TABLE 表名 RENAME TO 新的表名;

-- 将表名student修改为stu
alter table student rename to stu;

2.添加一列

-- 添加一列
ALTER TABLE 表名 ADD 列名 数据类型;

-- 给stu表添加一列address,该字段类型是varchar(50)
alter table stu add address varchar(50);

3.修改数据类型
 

-- 修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;

-- 将stu表中的address字段的类型改为 char(50)
alter table stu modify address char(50);

4.修改列名和数据类型
 

-- 修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

-- 将stu表中的address字段名改为 addr,类型改为varchar(50)
alter table stu change address addr varchar(50);

5.删除列

-- 删除列

ALTER TABLE 表名 DROP 列名;

-- 将stu表中的addr字段 删除
alter table stu drop addr;

三、MySQL的DML操作语法

        DML主要是对数据进行增(insert)删(delete)改(update)操作。

1)添加数据

        语法:

        --给指定列添加数据 语法:
        INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

        --给全部列添加数据 语法:
        INSERT INTO 表名 VALUES(值1,值2,…);

        --批量添加数据 语法:
        INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
        INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

Demo:

-- 给指定列添加数据
INSERT INTO stu (id, NAME) VALUES (1, '张三');
-- 给所有列添加数据,列名的列表可以省略的
INSERT INTO stu (id,NAME,sex,birthday,score,email,tel,STATUS) VALUES (2,'李四','男','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);

INSERT INTO stu VALUES (2,'李四','男','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);

-- 批量添加数据
INSERT INTO stu VALUES 
    (2,'李四','男','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1),
    (2,'李四','男','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1),
    (2,'李四','男','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);


    
2)修改数据

    修改表数据 语法:

     

   --修改表数据
     UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;


    注意:

         修改语句中如果不加条件,则将所有数据都修改!
 

Demo:

-- 将张三的生日改为 1999-12-12 分数改为99.99
update stu set birthday = '1999-12-12', score = 99.99 where name = '张三';

3) 删除数据


删除数据 语法:
 

--删除数据
DELETE FROM 表名 [WHERE 条件] ;


 
Demo:

 -- 删除张三记录
delete from stu where name = '张三';

-- 删除stu表中所有的数据
delete from stu;

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值