千家信息网

MySQL(2)-SQL语句和库表的基本操作

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,一 . 初识SQL语言SQL (Structured Quqry Language) : 结构化查询语言 , 主要用于存取数据 , 查询数据 , 更新数据和管理关系数据库系统SQL语言分为3种类型 ,
千家信息网最后更新 2025年11月07日MySQL(2)-SQL语句和库表的基本操作


一 . 初识SQL语言


SQL (Structured Quqry Language) : 结构化查询语言 , 主要用于存取数据 , 查询数据 , 更新数据和管理关系数据库系统


SQL语言分为3种类型 , 分别为 :

1 . DDL语句 数据库定义语言(Data Definition Language) 一般为创建数据库 , 表 , 视图 , 索引 , 存储过程等

2 . DML语句 数据库操纵语言(Data Manipulation Language): 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3 . DCL语句 数据库控制语言(Data Control Language): 例如控制用户的访问权限GRANT(授予权限)、REVOKE(收回权限)




问 :mysql的库文件、表文件默认的保存路径是?分别是以什么类型的文件存储在硬盘上?

答 :保存路径/var/lib/mysql
库文件类型:以目录的形式存储在/var/lib/mysql目录中
表文件:以普通文件的形式存储字库的目录中


二 . 库的基本操作


数据库的库表操作大致分为增删改查四个操作 , 即插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT


1 . 创建数据库

语法 : create database 数据库名 ;

命名规则 : 区分大小写 , 具有唯一性 , 不能使用 create select 等关键字来命名 , 不能单独使用数字

例 : 创建一个名为db1的数据库

2 . 查看数据库 和 使用数据库

查看数据库 : show databases;

使用数据库 : use 数据库名

elect database(); #返回当前数据库的名字

从上图可以看到 , 列出的数据库有刚创建的db1数据库 , 使用数据库可以看到提示 : Database changed 数据库发生改变

3 . 删除数据库

语法 : Drop database 数据库名;

例 : 删除创建的db1库 , 并查看db1库是否存在




三 . 表的操作


1.创建表

语法 : create table 表名(字段名称 类型(值的范围))[存储引擎 字符集];

注 : 在同一张表中 , 字段名是不能相同的 , 并且创建表必须定义字段和类型

例 : 在test库中创建名为tb1的表

desc tb1 ; #查看tb1表的结构

2 . 在表中插入数据

语法 : insert into 表名[字段名] values(需要插入的数据) //插入的数据要与表的字段相匹配

例: 在tb1表中插入3条数据

(向指定的字段插入值 --- 例 :只插入编号和名字 insert into tb1(id , name) values(8 , 'qwer'))


3 . 查看表中的数据

语法 : select [表中的字段] from 表名 where [查询条件]

例 : 查看tb1表 (* 表示查询所有)

4 . 表的修改操作(alter)

在表中最后新增指定的列字段 : alter table 表名 add 字段名 数据类型 ;

在表中第一列或字段名A列之后新增指定的列字段 : alter table 表名 add 字段名 数据类型 [first|after 字段名A];

删除表中的某列字段 : alter table 表名 drop 字段名 ;

修改某列的属性[即字段名和数据类型] :

修改某列的数据类型 : alter table 表名 modify 字段名 新数据类型 [first|after 字段A];

修改某列的字段名和数据类型 : alter table 表名 change 旧字段名 新字段名 新数据类型 [first|after 字段名];

例 : 在name列的后面增加一个sex字段 , 指定类型为enum('m','f') ,增加后查看表的结构 //enum('m','f') 表示在sex字段中插入值只能为m或f , 不是这两个字母 , 插入数据时就会报错


5 . 表的删除操作

格式 : drop table [库名].表名

例 : 删除test库中的tb1这张表

删除tb1表并查看 , 可以看出tb1表已经删除 (如果不再test数据中就要使用 drop table test.tb1 来删除 , 记得看数据库当前路径是什么)


0