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;
相关推荐
2601_962056232 小时前
易信easyMarkets:澄清诈骗疑问时更应关注官方出金流程
mysql
上学的小垃圾7 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
倔强的石头_8 小时前
连接数失控排查:从数据库会话、应用线程池到连接池泄漏
数据库
hzxpaipai9 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
爱吃火鸡面呀10 小时前
MySQL DQL 子查询详解:从标量、列、行到表子查询的完整实战
大数据·数据库·mysql
harmony&10 小时前
OpenStack 云平台管理实战:从 Keystone 认证到 Nova 计算调度
数据库·openstack
betazhou11 小时前
Apache Seatunnel 抽取Oracle数据库测试
数据库·oracle·apache·seatunnel
devilnumber12 小时前
Oracle 与 MySQL substr 函数差异总结
java·数据库·mysql·oracle
—Miss. Z—13 小时前
计算机等级考试三级数据库技术—选择题
数据库·mysql