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;
相关推荐
保持学习ing2 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
发仔1232 小时前
Oracle与MySQL核心差异对比
mysql·oracle
宇钶宇夕2 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
爱可生开源社区3 小时前
SQLShift 重磅更新:支持 SQL Server 存储过程转换至 GaussDB!
数据库
贾修行3 小时前
SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比
数据库·sqlserver
傲祥Ax3 小时前
Redis总结
数据库·redis·redis重点总结
一屉大大大花卷4 小时前
初识Neo4j之入门介绍(一)
数据库·neo4j
叁沐4 小时前
MySQL 08 详解read view:事务到底是隔离的还是不隔离的?
mysql
周胡杰5 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0015 小时前
navicate如何设置数据库引擎
数据库·mysql