posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

  一、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();

 

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

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

--查询当前数据库下所有表名称
SHOW TABLES;

 

 

2查询表结构

 

--查询表结构
DESC 表名称;

 

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 条件] ;

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

 


Demo:

-- 删除张三记录
delete from stu where name = '张三';
 
-- 删除stu表中所有的数据
delete from stu;

 



posted on   努力--坚持  阅读(33)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示