1:使用数据可视化工具操作
2:SQL语句
添加数据前面的添加数据命令一次只能插入一条记录。如果想一次插入多条记录怎么办呢?
可以将子查询的结果,以集合的方式向表中添加数据。
格式:INSERT INTO <表名> 子查询
【例】创建一个新表‘清华大学出版图书表’并将清华大学出版社出版的图书添加到此表中。
CREATETABLEthboPRIMARYKEY,nameVARCHAR(30),authorVARCHAR(10),publishVARCHAR(20),priceDECIMAL(6,2))INSERTINTOthbookSELECT*FROMBookWHEREpublish='清华大学出版社'插入数据
INSERT语句的基本语法:INSERT INTO 表名(列名列表) VALUES(值列表)
注意:列名列表 与 值列表 永远保持一致!
【例】试把数据“(’021B310001’,’张冬’, ’男’, ’1999-11-26’)”插入到Student表中。
INSERTINTOStudent(stu_ID,name,sex,birthdate)VALUES('021B310001','张冬','男','1999-11-26')要插入的数据如果恰好与表的列数以及各列的顺序保持一致,所以“列名列表”也可以省略掉,变成如下的形式:
INSERTINTOStudentVALUES('021B310001','张冬','男','1999-11-26')【例】Student表中插入下面的数据:
学生学号:’021B310002’
学生姓名:’张三’
学生性别:’女’
INSERTINTOStudent(stu_ID,name,sex)VALUES('021B310002','张三','女')或者:INSERTINTOStudentVALUES('021B310002','张三','女',NULL)删除数据语法格式:DELETE FROM 表名 WHERE 数据;
【例】删除Book表中的全部数据
DELETEFROMBook
【例】删除价格大于100元的图书
DELETEFROMBookWHEREprice>100
【例】删除王旭的借阅纪录
子查询方式实现
DELETEFROMBorrowWHEREReader_idIN(SELECTReader_idFROMReaderWHEREname='王旭')修改数据
语法格式:UPDATE <表名> SET <列名=值|表达式>[,…][WHERE <更新条件>]
【例】所有的图书价格打8折
UPDATEBookSETprice=price*0.8
【例】所有“清华大学出版社”的图书价格加价15%
UPDATEBookSETprice=price*1.15WHEREpublic='清华大学出版社'
【例】使用library数据库,把王旭的出生日期改成1995-3-2
updatereadersetbirthdate='1995-3-2'wherename='王旭'
【例】修改reader表中为021B310005的读者的名字改为宋玮凌,性别改为男
updateReadersetname='宋玮凌',sex='男'whereReader_ID='021B310005'
【例】将王旭所借图书的日期更改为2022-5-1
子查询方式
UPDATEBorrowSETBorrowdate='2022-5-1'WHEREreader_IDIN(SELECTreader_IDFROMReaderWHEREname='王旭')
多表连接方式:
UPDATEBorrowSETBorrowdate='2022-5-1'FROMBorrowJOINReaderONBorrow.reader_ID=Reader.reader_IDWHEREname='王旭'
更改‘张三’借阅‘高等数学’的借阅日期为‘2022-6-8’
UPDATEBorrowSETBorrowdate='2022-6-8'WHEREreader_IDIN(SELECTreader_IDFROMReaderWHEREname='张三')andbook_IDIN(SELECTbook_IDFROMbookWHEREname='高等数学')mysql千万级数据量更新操作
首先对于千万级数据更新,如果一次性更新,肯定导致卡死,要关注内存变化,注意看一下内存。
可以尝试写一个存储过程,一次更新2000行,可以快很多。
上一篇:MySQL子查询语句怎么使用
下一篇:mysql误删数据后如何快速恢复
mysql









