数据库——操作(mysql)

sql语句实现数据库的基本操作

mysql基础入门(开启mysql服务,命令行客户端工具和图形界面化工具workbench的使用)

mysql数据库的基本操作包括数据库、数据表和数据的操作
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1)数据库的操作

1.创建数据库

create database [if not exists]数据库名 [库选项];

注意:上述语法中的数据库名由字母、数字和下划线组成;如果创建的数据库已经存在,则程序会报错,加上if not exists表示指定的数据库不存在时执行创建操作,否则忽略,不会报错;库选项用于设置此数据库的相关特性,如字符集charset,校对集collate;"[ ]"括起的选项表示可选参数。

2.查看数据库

-- 查看服务器下所有的数据库
show databases;
-- 查看指定数据库的创建信息
show create database 数据库名;
-- 查看当前使用的数据库
select database();

在这里插入图片描述
图中选择的数据库是mysql安装时自动创建的,其中

  • information_schema:mysql服务器的数据字典,用于保存数据表和库的结果信息
  • performance_schema:性能字典,用于保存全局变量等
  • mysql:主要负责mysql服务器需要使用的控制和管理信息,如用户权限关系等
  • sys:包括存储过程,自定义函数等信息

在这里插入图片描述

3.选择数据库

use 数据库名;

在这里插入图片描述

4.删除数据库

drop database [if exists] 数据库名; 

2)数据表的操作

1.创建表

 # temporary表示临时表,仅在当前会话可见,会话关闭时会自动删除
create [temporary] table [if not exists] 表名(
	字段名 字段类型 [字段属性...] 
)[表选项];
  • 字段名指的是数据表的列名;
  • 字段类型设置字段中保存的数据类型(详细介绍见→mysql数据类型
  • 可选项字段属性指的是字段的某些特殊约束条件(详细介绍见→完整性约束
  • 可选项表选项用于设置表的相关特性(eg 存储引擎 engine,字符集charset ,校对集collate)(详细介绍见→存储引擎,字符集与校对集

注意:在创建数据表之前需要用use 数据库名;指定操作的是哪个数据库,否则会抛出错误。当然如果不使用该命令,在创建数据表时将“数据表名”改成“数据库名.数据表名”就可以在指定的数据库下创建数据表。
在这里插入图片描述
2.查看表

1)查看数据库下已有的数据表

show tables [like 匹配模式];
# 匹配模式符有两种:%和_,前者匹配任意长度的字符,后者匹配一个字符

在这里插入图片描述
2)查看数据表的创建语句

show create table 表名;

在这里插入图片描述

3)查看数据表的结构

desc|describe|explain 表名;
desc|describe|explain 表名 字段名;
#省略full和desc一样,不省略可以获得更多的信息,如字段的权限,comment等
show [full] columns from 表名 [from 库名]; 
show [full] columns from 库名.表名;

在这里插入图片描述
3.删除表

drop [temporary] table [if exists] 表名1[,表名2,...];

4.修改表
alter table 表名...;

1)修改表名称

-- 语法一
alter table 旧表名 rename as/to 新表名;
-- 语法二
rename table 旧表名1 to 新表名1[,旧表名2 to 新表名2,...];

在这里插入图片描述
2)修改表选项

alter table 表名 表选项[=];

3)修改表结构——字段名,字段类型,字段属性

可修改字段名,字段类型,字段属性

alter table 表名 change [column] 旧字段名 新字段名 字段类型 [字段属性];
-- 注意字段类型不能省略,即使与旧字段类型一样

可修改字段类型,字段属性

alter table 表名 modify [column] 字段名 字段类型 [字段属性]

4)修改表结构——修改字段位置

alter table 表名 modify [column] 字段名1 字段类型 [字段属性] 
[first| after 字段名2];

5)修改表结构——增加字段

alter table 表名 add [column] 字段名 字段类型 [after 字段名2 | first];
alter table 表名 add [column] (字段1 字段类型1,字段名2 字段类型2,..);

6)修改表结构——删除字段

alter table 表名 drop [column] 字段名;

补充:
表和字段的引用方式有两种:绝对引用和相对引用

  • 绝对引用:数据库名.表名(.字段名)
  • 相对引用:表名.(字段名)

3)数据的操作

1.添加数据

-- 为所有字段插入记录时,可以省略字段,值的顺序与表的全部字段相对应
insert into 表名 values(1,值2,...);
-- 值与给定的字段相对应
insert into 表名(字段1,字段2,...) values(1,2,...);
-- 一次插入多条记录
insert into 表名[(字段列表)] values(值列表)[,(值列表),...];
-- 特殊地,当主键设置自增或者默认值,其他非主键字段设置了默认值,则可以
insert into 表名 values();

在这里插入图片描述

2.修改数据

update 表名 set 字段1=1[,字段2=2,...]
[where 条件表达式];

3.删除数据

delete from 表名 where 条件表达式;
truncate [table] 表名;

delete与truncate的主要区别:

  • 实现方式不同
    truncate本质上先执行删除(drop)数据表的操作,然后再根据表结构文件重新创建数据表的方式实现数据清空;delete是逐条删除表中的记录。
  • 执行效率不同
    对于大型数据表,truncate的效率更高,数据量小时,delete更快
  • 对auto_increment字段的自增值影响不同
    truncate之后,自增值从默认的初始值重新开始,delete不影响自增值
  • 删除数据的范围不同
    truncate只能清除所有记录,delete可以通过where 条件表达式删除符合条件的记录
  • 返回值含义不同
    truncate的返回值一般没有意义,delete则返回符合条件被删除的记录数
  • 所属sql语言的不同组成成分
    truncate通常看作DDL,delete属于DML

4.查询数据→sql查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yun_gao_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值