1.数据库的增操作
数据库的增操作,主要涉及
表记录增加:指新增表的数据行,可以使在已有表的基础上增加记录,也可以是是将查询结果生成为一张表
表字段增加:在原有标的基础上增加字段
索引增加:基于表中已有的字段新建索引
语法:
#手工增加表记录的前提是数据库中已存在数据表
INSERT INTO table_name (filed_list)
VALUES
(value_list)
(value_list)
(value_list) ...
#将查询结果增加到数据表中,前提是数据表已存在
INSERT INTO table_name1(file_list)
SELECT filed_list
FROM table_name2
WHERE ...;
#将查询结果直接生成一张数据表
CREATE TABLE table_name1 AS
SELECT filed_list
FROM table_name2
WHERE ....;
#增加表字段
ALTER TABLE table_name
ADD column_name data_type other_attrs ;
#基于已有数据表的索引增加
CREATE INDEX index_name ON table_name(file_list);#增加普通索引
ALTER TABLE table_name ADD UNIQUE INDEX index_name(file_list);#增加唯一索引
ALTER TABLE table_name ADD PRIMARY KEY index_name(file_list);#增加主键索引
示例:
①将orders表中所有支付方式为“1,2,3”的记录哈入到数据表orders_sub中
CREATE TABLE orders_sub LIKE orders;
DESC orders_sub;
#将查询结果插入到数据表orders_sub中
INSERT INTO orders_sub
SELECT * FROM orders
WHERE `Pay_Type` IN (1,2,3);
#预览数据
SELECT * FROM orders_sub;
②在stu_info中增加新字段MySQL,并设置为整型,初始值为0
#往stu_info中增加新字段MySQL
ALTER TABLE stu_info ADD COLUMN MySQL INT DEFAULT 0;
SELECT * FROM stu_info;
2.数据库的删除操作
表记录删除:按照某些条件删除数据表中的记录或者直接清空数据表中的所有记录
字段删除:将表中已有的字段根据实际情况对其删除
索引删除:将无用的索引做删除操作
语法介绍:
#按条件删除表记录
DELETE FROM table_name
WHERE ....;
#清空数据表
DELETE FROM table_name;#删除后自增变量从删除的最后一个继续增加,不从1开始
TRUNCATE TABLE table_name;#根本性删除表记录,自增变量编号从1开始
#删除表字段
ALTER TABLE table_name DROP column_name;
#删除索引
DROP INDEX index_name ON table_name;#删除普通索引和唯一索引
ALTER TABLE table_name DROP INDEX index_name;#删除普通索引或唯一索引
ALTER TABLE table_name DROP PRIMARY KEY;#删除主键索引
3.数据库的改操作
修改表中错误记录;修改字段类型;修改表名称或字段名称
表记录的修改分为两种:①手工修改②基于正确的数据表修改错误的数据表
语法介绍:
#手工更新数据表的错误记录
UPDATE table_name SET filed=VALUE
WHERE ...;
#基于一张表更新另一张表
UPDATE table_name1 LEFT|INNER JOIN table_name2
ON table_name1.filed1=table_name2.filed1
SET table_name1.filed2=table_name.filed2
#修改表的数据类型
ALTER TABLE table_name MODIFY column_name data_type;
#修改表名称和字段名称
ALTER TABLE old_table_name RENAME TO new_table_name;
ALTER TABLE table_name CHANGE old_column_name new_column_name data_type;
示例:
①将刘伟的邮箱地址改为liuwei2204@163.com,根据学生成绩表,讲MySQL这门课的成绩更新到学生成绩信息表中
UPDATE stu_info
SET email='liuwei2204@163.com'
WHERE id=3;
SELECT * FROM stu_info;
UPDATE stu_info AS s1 LEFT JOIN
stu_score AS s2
ON s1.`id`=s2.`id`
SET s1.`MySQL`=s2.`MySQL`;
SELECT * FROM stu_info;