数据库day3
数据库——day3
一.修改表结构
1.修改表名
方法1:ALTER TABLE old_tbname RENAME new_tbname;
方法2: RENAME TABLE old_tbname TO new_tbname;
eg:
ALTER TABLE db_hero RENAME dbhero;使db_hero修改为dbhero
RENAME TABLE dbhero to db_hero;将该表恢复为之前的命名
2.添加字段
alter table tbnaem add 字段名 xxxx
在age字段后添加hobby字段
ALTER TABLE db_hero add hobby varchar(30) not null after age;
将after改为first后,将影响在第一列中
3.修改字段
将email字段修改为varchar(50),并且不可为空
ALTER TABLE db_hero MODIFY email varchar(50) not null;
4.更改字段名
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;
eg:
ALTER TABLE db_hero change email e_mail varchar(40) not null;
5.删除字段
ALTER TABLE 表名 DROP 列名
ALTER TABLE db_hero DROP wq
6.删除主键约束
alter table 表名 drop primary key;
alter table db_hero drop primary key;
7.添加主键约束
alter table 表名 add primary key(列名);
8.添加唯一约束
Alter TABLE 数据表名 ADD 约束类型 约束名(字段名)
9.复制表结构
create table 新表名 like 源表
eg:
CREATE TABLE dbhero like db_hero;
10.删除表
drop table 表名1,表名2
eg:
DROP TABLE db_hero,dbhero;
二.DML语句
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句,
数据修改的三大基础操作:插入(INSERT)、更新(UPDATE)、删除(DELETE)。
首先,创建一个“水果表”
mysql> create table fruit
-> (id int auto_increment,
-> name varchar(50),
-> quantity int,
-> primary key(id)
-> );
1.插入数据(INSERT)
1.1基本插入
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
向该表插入一条数据
insert into fruit values(1,‘orange’,20);
insert into fruit(name,quantity) values(‘orange’,20);
2.插入多行数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2), (value3, value4),
3.使用NULL
在允许NULL值的列中,你可以显式地插入NULL。例如:
INSERT INTO table_name (column1, column2) VALUES (NULL, value2);
4.从其他表中插入
INSERT INTO table_name1 (column1, column2) SELECT column1, column2 FROM table_name2;
5.插入数据并返回ID
对于自增主键的表,插入数据后你可能需要得到新插入行的ID。这可以通过LAST_INSERT_ID()函数实现:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
SELECT LAST_INSERT_ID();
6.插入默认值
如果表的所有列都有默认值,可以这样插入一行默认值:
INSERT INTO table_name DEFAULT VALUES;
7.插入并加锁
在某些高并发情况下,你可能需要在插入时对表加锁以保证数据一致性:
LOCK TABLES table_name WRITE;
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
UNLOCK TABLES;
2.更新数据UPDATE
在MySQL中,UPDATE语句是用来修改表中现有数据的强大工具。它的基本语法是:
UPDATE table_name
SET column1 = value1, column2 = value2, …
WHERE condition;
1.更新单个字段
2.更新多个字段
UPDATE fruits
SET name = ‘Green Apple’, quantity = 30
WHERE name = ‘Apple’;
空值添加定义:
方法1: where quantity is null
方法2: where quantity <=> null、
3.使用条件表达式
UPDATE fruits
SET quantity = quantity + 10
WHERE quantity < 10;
3.删除数据:DELETTE
1.基本语法
DELETE FROM table_name WHERE condition;
WHERE condition 是用来指定哪些行应该被删除的条件。如果省略了WHERE子句,所有行都会被删除,这将清空表但不会删除表本身。
2.删除特定行
DELETE FROM fruits WHERE name = ‘Apple’;
3.使用比较运算符
删除所有数量小于20的水果
DELETE FROM fruits WHERE quantity < 20;
4.使用逻辑运算符
删除名称为‘Apple’并且数量小于10的列
DELETE FROM fruits WHERE name = ‘Apple’ AND quantity < 10;
5.删除满足IN条件的行
删除所有名称是“Apple”,“Banana”,或“Orange”的水果:
DELETE FROM fruits WHERE name IN (‘Apple’, ‘Banana’, ‘Orange’);