MySQL数据表的数据操作

一、 插入数据

1.插入单个记录 语句格式

INSERT INTO <表名> (\<属性列1\>\[,\<属性列2 \>...) VALUES (<常量1> ,\<常量2\> ... )

注意:

(1)INTO子句属性列的顺序可与表定义中的顺序不一致

(2)VALUES子句提供的值必须与INTO子句匹配

例:插入单个记录 -- 向student表中插入一条记录,所有字段都有值

INSERT INTO student VALUES('001242','张青','计算机','女','04-01-22',50,'三好生');

-- 向student表中插入一条记录,部分字段有值

INSERT INTO student(sno,sname,dept) VALUES('001243','李四','计算机');

  1. 插入多个记录

INSERT INTO <表名> (字段名,...)AS 子查询

-- 向stu表中一次插入多条记录

INSERT INTO stu SELECT sno,sname,sex,dept FROM student;

二、修改数据

UPDATE <表名> SET列名={表达式 | (子查询) },... WHERE \<条件表达式\> ;

注意:

(1)如果不选WHERE子句,则表中所有的行全被更新;

(2)如果选择了WHERE子句,则使WHERE 中条件表达式为真的行被更新。

例:把student表中的总学分加10。

UPDATE student SET totalcredit=totalcredit+10;

--把student表中姓名为"罗林琳"的学生的专业改为"计算机",备注改为"三好学生"。

UPDATE student SET dept='计算机',remarks='三好学生' WHERE sname='罗林琳';

三、删除数据

DELETE FROM <表名> WHERE \<条件表达式\> ;

WHERE子句 指定要删除的元组 缺省表示要删除表中的全部元组,表的定义仍在字典中。

例:删除student表中计算机系全体学生的记录。

DELETE FROM student WHERE dept='计算机';

--删除student表中的所有记录。

DELETE FROM student;

TRUNCATE TABLE语句

截断基本表,从表中删除所有的行,并且释放该表所使用的存储空间。 在使用TRUNCATE TABLE语句时,不能回退已删除的行。

例: 将表STUDENT删除,并释放其存储空间。

TRUNCATE TABLE STUDENT ;

补充:自增字段

AUTO_INCREMENT类型定义的字段默认值和步长均为1,每插入一条记录,该字段的值自动加1。 插入操作中,被AUTO_INCREMENT修饰的字段可以给空值或具体值。

CREATE TABLE stu (stu_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY , sname VARCHAR(10) );

-- 自增型字段值的插入数据的方式 INSERT INTO stu VALUES(NULL,'张三'),(NULL,'李四'),(10,'王五');

相关推荐
程序员Sunday5 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
Yyyyyy~6 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦6 小时前
16 MySQL 事务
数据库·mysql
Titan20246 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
for_ever_love__7 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
for_ever_love__8 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
java1234_小锋11 小时前
【技术专题】Mysql8 数据库 - Mysql8 触发器
数据库·mysql·mysql8
雨落在了我的手上13 小时前
MySQL数据库基础(6):增删改查操作(1)
数据库·mysql
ao-weilai13 小时前
MySQL数据库:用户管理
数据库·mysql·adb
ao-weilai15 小时前
MySQL数据库:C语言连接MySQL教程
c语言·数据库·mysql