熟悉掌握MySQL数据库的增删查改

一、增:

首先打开数据库工具,如图所示

 1.创建数据库,数据表:

  • CREATE DATABASE 库名;
  • USE 要使用的库名;
  • CREATE TABLE 表名(列名1 列类型(长度),列名2 列类型(长度),....);

eg:(可以看到再输入相应语句后,左侧出现了相应的数据库,数据表)

 2.对表中的数据进行增补:

方法一:
INSERT INTO 表名 (列名1,列名2,...)VALUE(值1,值2,...),(值1,值2,...);

eg:

 按ctrl+F9运行那一条语句后,出现如下:

方法二:
INSERT INTO 表名 SET 列名1=值1,列名2=值2,列名3=值3;

 eg:

 运行后如图

 注:
1)插入的值得类型要与列的类型一致或兼容
2)列数与值的个数必须保持一致
3)列的顺序可以互换
4)可以省略列名,默认为给所有列添加数据,而且列的顺序和表中的列的顺序一致
INSERT INTO 表名 VALUE(值,值2,...);

二、查:

1.常规查询:

  • SELECT version(); #查看当前MySQL数据库的版本信息
  • SHOW databases; #输出当前所有的数据库
  • SHOW tables; #输出当前数据库中所有的表
  • SHOW tables FROM 库名; #输出指定库的所有表
  • SELECT * FROM 表名; #输出该表中所有的数据
  • SELECT 列名1,列名2,列名3,... FROM 表名; #输出该表中的指定列中的数据;
  • DESC 表名; #用来显示表的状态,包括列名

依次为

1.SELECT version(); #查看当前MySQL数据库的版本信息

2.SHOW databases; #输出当前所有的数据库

3. SHOW tables; #输出当前数据库中所有的表

 4.SHOW tables FROM 库名; #输出指定库的所有表

 5.SELECT * FROM 表名; #输出该表中所有的数据

 6.SELECT 列名1,列名2,列名3,... FROM 表名; #输出该表中的指定列中的数据;

 7.DESC 表名; #用来显示表的状态,包括列名

 2.条件查询:

WHERE

语句 WHERE 条件,如图:

 三、改:

类型有:1.RENAME DATABASE 旧库名 TO 新库名; #有可能丢失数据,在MySQL 5.1.7中被加入,在MySQL 5.1.23又去掉了。

 2.在MySQL的data目录下修改库名 #修改时要将SQL_Front或者退出MySQL

ALTER TABLE 旧表名 RENAME TO 新表名; #修改表名

3.ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 数据结构; #修改列名

4.ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型; #修改列的数据类型

依次为:1.RENAME DATABASE 旧库名 TO 新库名;(查询后发现这一方法在之后新版本中,因为安全问题,删除了这一命令。  因此我们可以将在该数据库中修改表名,让他们移动到另一数据库,以此达到修改库名的效果)

方法为:

  • 创建需要改成新名的数据库。

  • mysqldum 导出要改名的数据库

  • 删除原来的旧库(确定是否真的需要)当然这种方法虽然安全,但是如果数据量大,会比较耗时,大量数据不推荐使用。

2.ALTER TABLE 旧表名 RENAME TO 新表名;

 3.ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 数据结构;

4.ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;

但实操后发现改语法结构似乎有问题,我试了几下认为是这样:

ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型(标明长度,不能为空);

其中column可以省去不写,新数据类型后面必须要加上长度。

如图

 其中我的id之前是int类型

5.UPDATE 表名 SET 列1=新值1,列2=新值2,.... WHERE 条件;如果不加条件,则将所有数据都更改

 四、删:

  • DROP DATABASE 库名; #删除数据库

  • DROP TABLE 表名; #删除表

  • ALTER TABLE 表名 DROP COLUMN 表名; #删除表中的某列

这是删除表:

 执行后,可以看到fjs数据库已空 

可以看到下面有两列,接下来执行命令删除一列 

 最后删除库,可以看到fjs库已删除。

 接下来是删除数据

  • DELETE #删除表中数据
  • DELETE FROM 表名 WHERE 条件; #删除表中某条数据如果不加条件,则删除表中所有数据

删除之前可以看到test表中存在数据 

 执行命令后,可以看到该表中数据已被全部删除。 

 添加:

  • truncate #删除表中全部数据
  • truncate table 表名; #(不允许出现where)即全部清空
  • truncate删除,效率高一点点
  • truncate删除数据后,如果表中有自增列,则自增列从头开始;而delect则从上次删除的下一个开始

六、联合查询:

union 联合 合并:将多条查询语句的结果并成一个结果

语法:查询语句1 union 查询语句2 union ....

特点:(重点)

  • 要求多条查询的查询列数必须是一致的
  • 要求多条查询语句的查询的每一列的类型和顺序最好一致(显示的列名为第一条查询语句的列名)
  • union关键字默认去重(但必须每一项都相同的,才会去重),如果使用union all 可以包含重复项

如图

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值