MYSQL 基本操作-管理数据表数据【之增,删,改】

2023-03-23 11:49:05 浏览数 (1)

文章目录

  • 前言
  • MYSQL基本操作-表的相关操作04
    • 修改数据表
    • 修改表名
    • 修改字段排列顺序
    • 修改字段数据类型
    • 修改字段名字
    • 添加字段
    • 删除字段
    • 删除数据表
  • MYSQL基本操作-管理数据表数据05
    • 插入记录
    • 修改表中的全部数据
    • 删除记录
    • 删除表中的全部数据
  • 结语

前言

内容: MYSQL基本操作-表的相关操作04 MYSQL 基本操作-管理数据表数据【之增,删,改】05

MYSQL基本操作-表的相关操作04

修改数据表

语法格式

代码语言:javascript复制
ALTER TABLE <表名> [修改操作];

知识点

  • 常用的修改表的操作
  • 修改表名–rename
  • 修改字段数据类型或字段名–change
  • 增加和删除字段–add、drop
  • 修改字段的排列位置或者字段数据类型–modify
  • add、drop、change、modify、rename

修改表名

语法格式

代码语言:javascript复制
ALTER TABLE <旧表名> RENAME [TO] <新表名>;

注意

  • [TO] 加不加都行,不影响结果
  • 修改表名不影响表结构 实际栗子
代码语言:javascript复制
alter table customers2 rename to customers;
alter table customers22 rename customers;

修改字段排列顺序

语法格式

代码语言:javascript复制
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已存在的字段名];

实际栗子

代码语言:javascript复制
# 放在首位
alter table customers5 modify ctruename varchar (30) first;

# 放在cemail字段后面
alter table customers5 modify csex char(2) after cemail;

修改字段数据类型

语法格式

代码语言:javascript复制
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

实际栗子

代码语言:javascript复制
# 修改字段数据类型
alter table customers5 modify cid  char(4);

修改字段名字

语法格式

代码语言:javascript复制
ALTER TABLE <表名> CHANGE <旧字段> <新字段> <数据类型>;

实际栗子

代码语言:javascript复制
# 修改字段名
alter table customers5 change csex csexs char(2);

# 修改字段数据类型和字段名
alter table customers5 change csex csexs int(4);

知识点 change不仅可以改字段名,也可以改字段数据类型

添加字段

语法格式

代码语言:javascript复制
ALTER TABLE <表名> ADD <字段名> <数据类型>  [约束条件] [FIRST|AFTER 已存在的字段名];

实际栗子 『示例』在客户表中新增一个客户昵称字段, 变长11位

代码语言:javascript复制
# 添加字段
alter table customers2 add cnickname varchar(11);

# 添加字段到首位
alter table customers2 add  cnickname varchar(11) not null default 'buyu' first;

# 添加字段到某个字段后面
alter table customers2 add  cnickname varchar(11) after cregisterdate;

删除字段

如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):

语法格式

代码语言:javascript复制
alter table table_name drop [column] column_name

『示例』删除用户昵称字段

代码语言:javascript复制
alter table customers drop cnickname

『示例』假设已经在数据库 bookshop中创建了表 customers。添加一个新的字段 state,类型为cha(1),不允许为空,将字段 address列删除。

代码语言:javascript复制
use bookshop;
alter table customers add state char() not null, drop column address

删除数据表

语法格式

代码语言:javascript复制
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]

可以看到跟删除库差不多

实际栗子

代码语言:javascript复制
# 删除表如果存在
drop table if exists customers;

MYSQL基本操作-管理数据表数据05

插入记录

insert 属于DML语句(数据操纵语句)

代码语言:javascript复制
INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

<列名>:可以不指定,默认指定表的所有列名 values:字段有多少个,值就要有多少个,且顺序要对应,否则会报错

  1. 为表的所有字段插入数据 使用基本的 insert语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式为
代码语言:javascript复制
insert into tb_name (col_list) values (val_list);
insert into tb_name values (val_list);

『示例』向 bookshop数据库的表 customers插入如下的数据。

代码语言:javascript复制
 insert into customers
      ( cid, 
        ctruename, 
        cpassword, 
        csex, 
        caddress, 
        cmobile, 
        cemail, 
        cregisterdate,
        cnickname)
 values
      ( 'c0011', 
        '李 平', 
        '123456', 
        '女', 
        '广东中山市', 
        '1351543876', 
        'liping163.com', 
        '2009-9-6' 
        'shjii');
或者

insert into customers
values
     ( 'c0012', 
       '战士', 
       '1234567', 
       '男', 
       '广东中山市', 
       '13599900876', 
       'djskjk163.com', 
       '2009-9-6',
	   'buyu');
	   ```
2. 为表的指定字段插入数据
『示例』新顾客信息录入,顾客信息地址 address和电子邮箱cemail尚缺,只能将该顾客的部分信息如表所示添 加到 customers表中。
```c
insert into customers
( cid, ctruename, cpassword, csex, cmobile, cregisterdate )
 values
( c0012, 张先明, 23456, 男, 13513452312, 2009-10-6 );
  1. 同时插入多条记录 『示例』如果想一次性插入多条, 可以这样…
代码语言:javascript复制
insert into customers values
    (
       'c0014', 
       '韩志国', 
       '123456', 
       '男', 
       null, 
       '13512134256', 
       'al63com', 
       '2010-1-16',
	   'buyu1'
       ), (
       'c0015', 
       '张小明', 
       '123456', 
       '男', 
       null, 
       '13613434256', 
       'zma163.com', 
       '2010-2-24',
	   'buyu2');
	   ```
4. 复制表数据来插入
```c
insert into <表名> [<字段名>,<字段名>..] select ....
代码语言:javascript复制
INSERT INTO customers (cid, ctruename, cpassword, csex, cmobile, cregisterdate ) SELECT
'c0080',
ctruename,
cpassword,
csex,
cmobile,
cregisterdate
FROM
    customers 
WHERE
    cid = 'c0011';

修改记录 update 也是DML语句哦(数据操作语言)

  • 多指定多个字段,需要用 , 隔开
  • 如果修改的字段有默认值,可以用 default 来设置字段的值,如: name = default ,这样就会把字段的值修改成默认值
  • where 就不用多说了,一般 update 数据都会指定条件
  • 添加 limit 是为了限制被修改的行数,加不加都行
代码语言:javascript复制
UPDATE
	表名
SET
	列=新值,
	列=新值,
	...
WHERE
	筛选条件

修改表中的全部数据

代码语言:javascript复制
update customers;
set csex = '男';
根据条件修改表中的数据
update customers;
set cpassword = 123456789 where csex = '男';

删除记录

delete 也属于DML语句(数据操纵语句)

代码语言:javascript复制
DELETE FROM <表名> [WHERE 子句] [LIMIT 子句]
  • where 就不用多说了,一般 delete 数据都会指定条件
  • 添加 limit 是为了限制被删除的行数,加不加都行
  • 根据条件删除表中的数据
代码语言:javascript复制
delete from customers where csex = '男'

删除表中的全部数据

『示例』删除商品信息表中的所有信息。完成语句如下所示。

代码语言:javascript复制
delete from customers;

结语

下一篇:MYSQL 基本操作-select 查询语句-06

0 人点赞