MySQL之DML语句

文章目录

DML语句

数据操作语言DML(Data Manipulation Langua) 是SQL语言的一个分类,用于对表的数据进行增,删,改,查

创建表

  • CREATE TABLE 语句用于创建数据库中的表。

语法:

sql 复制代码
CREATE TABLE 表名称
(
    列名称1 数据类型,
    列名称2 数据类型,
    列名称3 数据类型,
    ....
);

实例:

  • 本例演示如何创建名为 "Persons" 的表。
sql 复制代码
CREATE TABLE Persons
(
    Id_P int,
    LastName varchar(255) character set utf8,
    FirstName varchar(255) character set utf8,
    Address varchar(255) character set utf8,
    City varchar(255) character set utf8
) charset = utf8;

添加表字段

  • alter table语句用于向一创建的数据表中添加字段

语法:

sql 复制代码
alter table 表名称 add(
	添加的字段名称
)

示例:

sql 复制代码
alter table persons add(
    name varchar(255)
    );

插入数据

  • INSERT INTO 语句用于向表格中插入新的行。

语法:

sql 复制代码
INSERT INTO 表名称 VALUES (值1, 值2,....);

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);

实例:

本例演示 "Persons" 表插入记录的两种方式:

sql 复制代码
1、插入新的行

INSERT INTO Persons VALUES (1, 'Gates', 'Bill', 'Xuanwumen 10', 'Beijing');

2、在指定的列中插入数据

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');

查询数据

  • SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。

语法:

sql 复制代码
SELECT * FROM 表名称;
1
我们也可以指定所要查询数据的列:

SELECT 列名称 FROM 表名称;
1

SQL 语句对大小写不敏感,SELECT 等效于 select。

实例:

SQL SELECT * 实例:

sql 复制代码
SELECT * FROM Persons;

如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:

sql 复制代码
SELECT LastName,FirstName FROM Persons;

更新数据

Update 语句用于修改表中的数据。

语法:

sql 复制代码
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;

实例:

更新某一行中的一个列:

目前 Persons 表有很多字段为 null 的数据,可以通过 UPDATE 为 LASTNAME 是 "Wilson" 的人添加FIRSTNAME:

sql 复制代码
UPDATE Persons SET FirstName = 'Fred' WHERE LastName = 'Wilson';

更新某一行中的若干列:

sql 复制代码
UPDATE Persons SET ID_P = 6,city= 'London' WHERE LastName = 'Wilson';

替换数据

如果记录已经存在,则替换,否则插入新记录

语法:

sql 复制代码
REPLACE INTO 表名称 (列1,列2......) VALUES (值1,值2......);

实例:

列换某一行中的一个列,如果没有数据则插入新记录

sql 复制代码
REPLACE INTO table_name (LastName,FirstName,Address )VALUES (22.77,33.33,'重庆');

删除数据

DELETE 语句用于删除表中的行。

语法:

sql 复制代码
DELETE FROM 表名称 WHERE 列名称 = 值;

实例:

删除某行:

删除 Persons 表中 LastName 为 "Fred Wilson" 的行:

sql 复制代码
DELETE FROM Persons WHERE LastName = 'Wilson';

删除所有行:

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

sql 复制代码
DELETE FROM table_name;

清除表数据

如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?

可以使用 TRUNCATE TABLE 命令(仅仅删除表格中的数据):

语法:

sql 复制代码
TRUNCATE TABLE 表名称;

实例:

本例演示如何删除名为 "Persons" 的表。

sql 复制代码
TRUNCATE TABLE persons;

删除表

DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除)。

语法:

sql 复制代码
DROP TABLE 表名称;

实例:

本例演示如何删除名为 "Persons" 的表。

sql 复制代码
drop table persons;
相关推荐
实心儿儿2 分钟前
MySQL — 库的操作
数据库·mysql·oracle
bksczm3 分钟前
MySQL基础篇之索引
数据库·sql·mysql
Lethehong15 分钟前
让数据库真正“长“在 Kubernetes 里:KES-Operator 正式发布,K8s 环境下的 KES 集群管理有了标准答案
数据库
l1t26 分钟前
DeepSeek总结的PostgreSQL 19 发生了什么
数据库·postgresql
Pocker_Spades_A33 分钟前
时序数据库选型指南:从大数据视角看Apache IoTDB的工业级优势
数据库
梦想平凡38 分钟前
情怀棋牌源代码焕新记录(一):全新国风UI与原版工程梳理
java·服务器·数据库·websocket·网络协议·cocos2d
cspttty40 分钟前
FP&A应届岗技能路线:Excel建模、SQL取数、BI看板与预算分析
大数据·数据库
微学AI1 小时前
飞牛 NAS 部署 prompts.chat:自建提示词库、导入社区内容,再配置固定公网访问
数据库·内网穿透
羑悻的小杀马特1 小时前
从写 YAML 到集群自愈:KES-Operator 把 KES 集群接进 Kubernetes 原生体系
运维·数据库·容器·kubernetes
bksczm1 小时前
MySQL基础篇之事务
linux·数据库·sql·mysql