MySQL修改表名称
MySQL提供修改表名称语法如下:
- rename table tb to tb1;
- alter table tb rename to tb1;
- alter table tb rename as tb1;
以上三种语法都可以实现修改MySQL表名称。
注意:
修改表名称有风险,如果应用服务仍然在访问该表,直接修改表名称,会导致应用服务报错,引起生产事故,不建议直接在生产环境修改表名称,除非真的确定有把握。
MySQL查询数据select
MySQL更新数据update
MySQL使用update语法来更新表中的数据,下面介绍一些常见的update用法。
1、update语法
update table_name set field1=value1,field2=value2,…,fieldN=valueN [where clause]
如果没有指定where子句,则会将表中所有数据更新,谨慎使用,一不小心误更新数据,恢复起来很麻烦。
2、update示例
2.1 更新表中所有数据
update table_name set age = 20;
2.2 更新满足条件的数据
update table_name set age = 20 where id=1;
2.3 更新字段值,在原有值基础上加1
update table_name set age=age+1;
2.4 limit限制更新的记录数
update table_name set age=age+1 limit 10;
MySQL删除数据delete
MySQL使用delete语法来删除表中的数据,下面介绍一些常见的delete用法。
1、delete语法
delete from table_name [where clause]
如果没有指定where子句,则会将表中所有数据删除,谨慎使用,一不小心误删数据,恢复起来很麻烦。
2、delete示例
2.1 删除表中所有数据
delete from table_name;
2.2 删除满足条件的数据
delete from table_name where id=1;
2.3 limit限制删除的记录数
delete from table_name limit 10;
注:
删除全表数据,不建议使用delete 不加where条件,因为在表数据量很大的情况下,执行非常慢,且会导致严重的MySQL主从复制延迟。建议使用truncate table table_name; 进行全表数据删除。
MySQL插入数据insert
MySQL 使用 insert into 语法来向表中插入数据,下面来介绍几种常见的MySQL 插入数据的用法。
一、insert into values 语法
语法:
insert int table_name (field1,field2,…fieldN) values (value1,value2,…valueN);
示例:
insert into table_name(name, age) values(‘Tom’, 20);
一条SQL插入多条记录:
insert into table_name(name, age) values(‘Tom’, 20), (‘Bill’, 21);
不指定字段名称:
insert into table_name values(‘Tom’, 20), (‘Bill’, 21);;
二、insert into select
语法:
insert into table_name (field1,field2,…fieldN) select value1,value2,…valueN;
示例:
insert into table_name(name,age) select ‘Tom’, 20;
不指定字段名称:
insert into table_name select ‘Tom’, 20;
MySQL创建删除表
表是关系型数据库的核心,通常一个表包括字段、主键、索引等等,下面将介绍如何在MySQL中创建、删除表。
一、创建表:
创建表示例如下:
CREATE TABLE tb (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) DEFAULT NULL,
age int(11) NOT NULL,
PRIMARY KEY (id),
KEY idx_name(name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果表已经存在,则会报错,加上 if not exists 语法可以避免报错,表示只有在表不存在的条件下进行创建。示例如下:
CREATE TABLE IF NOT EXISTS tb (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) DEFAULT NULL,
age int(11) NOT NULL,
PRIMARY KEY (id),
KEY idx_name(name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、删除表:
删除表示例如下:
drop table tb;
删除表也可以使用if exists语法,来避免删除一个不存在的表时报错。示例如下:
drop table if exists tb;