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;
相关推荐
没明白白17 分钟前
Redis 缓存雪崩、缓存穿透、缓存击穿详解
数据库·redis·缓存
gbase_lmax17 分钟前
gbase8s数据库常见的索引扫描方式
数据库
雅冰石36 分钟前
mysql怎样优化count(*) from 表名 where …… or ……这种慢sql
mysql
阳光九叶草LXGZXJ41 分钟前
南大通用数仓-GCDW-学习-03-用户管理
linux·运维·数据库·学习
学博成2 小时前
MySQL5.7主从复制集群如何配置半同步复制
mysql
Islucas2 小时前
入门Django
数据库·django·sqlite
jnrjian2 小时前
update 强制 NEST_LOOP NL 的理解,被驱动表 inner table
数据库·sql·oracle
新知图书2 小时前
SQL Server 2022的数据类型
数据库·oracle
脑子不好真君2 小时前
MongoDB的备份和恢复命令
数据库·mongodb
鲁鲁5173 小时前
梧桐数据库(WuTongDB):PostgreSQL 优化器简介
数据库·postgresql·梧桐数据库