【MySQL】:利用DML操作表中数据

DML(Data Manipulation Language):数据操作语言,用以操作表中数据。

假设现在已经在数据库中创建好了一个表,结构如下:

一、添加表记录

1、添加全部的字段值

INSERT INTO stu (id,score,addr) VALUES (1,67.7,'china'); -- 插入全部字段

INSERT INTO stu VALUES (1,67.7,'china');                --  插入全部字段,同上

2、添加部分字段值

INSERT INTO stu (id,score) VALUES (2,85.9); -- 插入部分字段的值,没有添加数据的字段以NULL填充

3、注意事项

列名和值需要一一对应。

INSERT INTO stu VALUES (43,34); -- 会报错,列名和值没有匹配

字符和日期型数据需要用引号引起。

INSERT INTO stu (id,score,addr) VALUES (1,67.7,china);-- 会报错,字符类型未用引号引起

二、复制表中数据

CREATE TABLE new_stu LIKE stu;  -- 创建和stu结构相同的表new_stu

1、复制所有数据

INSERT INTO new_stu SELECT * FROM stu;  -- 将stu表中的所有数据添加到new_stu中

2、复制指定字段的数据

-- 将stu的id,score字段数据对应添加到new_stu的id,score中,未添加字段依旧以NULL填充,
INSERT INTO new_stu(id,score) SELECT id,score FROM stu;

三、删除表记录

只是对表中数据进行删除,表结构还是存在着的。

1、删除表中所有数据

DELETE FROM stu;    -- 删除stu表所有数据,删除操作的次数和记录数有关

TRUNCATE TABLE stu; -- 直接删除表,然后创建一张结构相同的表,效率较高

2、删除指定数据

DELETE FROM stu WHERE id=1; -- 删除stu表中id字段值为1的一条记录

四、更新表记录

1、修改所有行的数据

UPDATE stu SET score = 99.9;    -- 将stu表中所有的score的值改为99.9

2、修改指定行的数据

UPDATE stu SET score = 88.8 WHERE id = 1;   --将id为1的行中score值改为88.8

3、修改多个字段的数据

UPDATE stu SET score = 77.7,addr = 'English' WHERE id = 1;--修改id为1的行的score和addr字段值

原文地址:https://www.cnblogs.com/summerday152/p/12419360.html

时间: 2024-11-06 22:10:19

【MySQL】:利用DML操作表中数据的相关文章

DML 操作表中数据

DML 是对于表中的记录进行增删改操作 一.添加数据   语法格式: insert into 表名[字段名] values[字段值]      表名:表示往那张表中添加数据   (字段名1,字段名2,...):要给哪些字段设置值  values(值1,值2,...):设置具体的值 1.插入全部字段 ① 所有的字段名都写出来 INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3…) VALUES (值 1, 值 2, 值 3); ② 不写字段名,默认为全部字段名 INSERT I

第二阶段 MySQL函数库 表中数据查询与多表操作

一位初学php的随堂笔记,记录自己的成长! 一.表结构的修改(DDL) 1.添加表结构的字段 a.ALTER TABLE 表名 ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名]: b. 添加多个字段 ALTER TABLE 表名 ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名], ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名]...: 2 删除字段 ALTER TABLE 表名 DROP

操作表中数据

INSERT insert into employee (id,name,gender,birthday,entry_date,job,salary,resume) values (null, '张飞',1,'1989-08-27','2007-08-27','打手',998.0,'真的很能打'); insert into employee values (null, '关羽',1,'1989-08-27','2007-08-27','打手',998.0,'也是很能打'); //默认所有列 in

Oracle数据库开发SQL基础之操作表中数据

一.添加数据 INSERT语句 INSERT INTO table_name(字段的名字,字段的名字)VALUES(VALUE1,VALUE2) 1.向表中所有字段添加值 INSERT INTO userinfo VALUES (1,'xxx','123','[email protected]',sysdate) 2.向表中制定的字段添加值 INSERT INTO userinfo(id,username,userpwd) VALUES(2,'yyy','123') create table u

mysql利用存储过程批量插入数据

最近需要测试一下mysql单表数据达到1000W条以上时增删改查的性能.由于没有现成的数据,因此自己构造,本文只是实例,以及简单的介绍. 首先当然是建表: CREATE TABLE `fortest` (   `ID` INT(30) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,   `IP` VARCHAR(32) NOT NULL,   `OID` VARCHAR(15) DEFAULT NULL) 其次,构建存储过程: DELIMITER $$

mysql利用bin-log恢复误删除数据.

模拟备份数据库mysqldump db1 > db1.sql 启用新的bin-log文件mysql>flush logs; mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

mysql 之 清空表中数据

清空表的时候注意外键约束 命令版 查询数据库中所有表名select table_name from information_schema.tables where table_schema='DB_name' and table_type='base table'; 查询指定数据库中指定表的所有字段名column_nameselect column_name from information_schema.columns where table_schema='DB_name' and tabl

mysql利用sql脚本插入数据中文乱码

将其中的 /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;/*!40101 SET @[email protected]@COLLATION_CONNECTION */;/*!40101 SET NAMES gbk */;和末尾的 /*!40101 SET @[email protected]@CHARACTER_SET

mysql 导出表中数据为excel的xls格式文件

需求: 利用mysql客户端导出数据库中数据,以便进行分析,统计. 解决命令: 在windos命令行(linux同理)下,用如下命令即可: mysql -hlocalhost -uroot -ppassword -e "select * from sptest.ta;" sptest >F:\\SecondDesktop\\exporttest.xls -u root用户 -p root密码 -e 导出sql语句结果 sql语句  可以自定义需要导出的列和行数 数据库名 >