Mysql学习笔记之SQL-1

上篇文章我们介绍了Mysql的安装,这篇文章我们介绍Mysql的操作语言SQL

1. 简介

sql全称(Structured Query Language)是结构化查询语言,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

2. sql分类

sql语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL,具体说明如下表所示

简写 全称 说明
DDL Data Definition Language 数据定义语言,定义数据库、数据表、数据字段
DML Data Manipulation Language 数据操作语言,对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,查询数据库中表的记录
DCL Data Control Language 数据控制语言,创建数据库用户、控制数据库的访问权限

这篇文章先介绍数据库定义语言(DDL)

3. 数据库定义语言(DDL)

首先我们要知道数据是以数据表的形式存储在数据库中。而数据表需要挂存储在数据库中,如下图所示

上图1中可以清晰的看到mysql数据服下存在test数据库,test数据库下存在student数据表,学生数据就存放在数据表student中。

图2中student数据表共有四个字段,id、name、sex、age,分别存储学号、名字、性别、年龄。

那么创建数据库、数据表、数据字段就需要用到数据库定义语言(DDL)。

4. 数据库操作

4.1创建数据库

语法:

sql 复制代码
create database [ if not exists ] 数据库名 [character set 字符集 ] [ collate 排序
规则 ] ;

说明:

1.\[\]中的内容是非必须的,可以省略

2.if not exists 表示当要创建的数据库不存在时,才进行创建,否则跳过

3.character set 用来设置数据库的字符集。

字符集规定了字符在数据库中的存储格式,比如占多少空间,支持哪些字符等等,例如如果字符集设置的不恰当就会造成中文字符乱码等问题,mysql中支持的字符集有很多,可以通过sql查询

sql 复制代码
SHOW CHARSET;

4.collate 用来指定排序规则

案例:

创建一个数据库,名为schooldb,设置字符集为utf8mb4,且如果数据库已经存在则跳过

1.打开Navicat,点击新建查询

在编辑器中输入sql语句,点击运行

sql 复制代码
CREATE DATABASE IF NOT EXISTS `schooldb` CHARACTER SET 'utf8mb4';

这样数据库就创建成功了

4.2 删除数据库

语法:

sql 复制代码
drop database [ if exists ] 数据库名 ;

案例:

删除上面创建的schooldb

sql 复制代码
drop database if exists schooldb;

5.数据表操作

5.1 创建数据表

语法:

sql 复制代码
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;

说明:

\[\] 内为可选参数,最后一个字段后面没有逗号
案例

创建students表,包含学号,学生姓名,性别,年龄字段

sql 复制代码
CREATE TABLE `students`  (
  `id` int COMMENT '学号',
  `name` varchar(255) COMMENT '姓名',
  `sex` varchar(2) COMMENT '性别',
  `age` int COMMENT '年龄'
)COMMENT '学生表';

在Navicat中执行sql语句,即可创建成功数据表students。

5.2 修改数据表

在实际应用中经常会遇到给已经创建好的数据表中,修改、新增、删除字段,又或者修改某个字段的类型、长度等。

1.添加字段

sql 复制代码
ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:

给students表中添加班级字段

sql 复制代码
ALTER TABLE `students` ADD COLUMN `class` varchar(100) COMMENT '班级';

2.修改数据类型

sql 复制代码
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

3.修改字段名称和字段类型

sql 复制代码
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:

将stutents表中的班级字段修改为学分字段,类型为int

sql 复制代码
ALTER TABLE `students` CHANGE COLUMN `class` `credit` int COMMENT '学分' ;

4.删除字段

sql 复制代码
ALTER TABLE 表名 DROP 字段名;

案例:

删除学分字段

sql 复制代码
ALTER TABLE `students` DROP `credit`;

5.修改表名

sql 复制代码
ALTER TABLE 表名 RENAME TO 新表名;

5.3 删除数据表

语法:

sql 复制代码
DROP TABLE [ IF EXISTS ] 表名;

案例:

删除students表格

sql 复制代码
DROP TABLE IF EXISTS students;

6 扩展

在熟悉sql语句操作数据库或数据表后,在实际应用中可以使用Navicat中使用可是化界面完成数据库的操作。

1.新建数据库

2.删除数据库

3.新建数据表

4.修改数据表

5.删除数据表

相关推荐
玖玥拾9 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
渣渣灰飞11 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
AskHarries12 小时前
PostgreSQL 还是 MySQL
mysql·postgrel
Leighteen13 小时前
Redis与MySQL双写一致性:从问题根源到工程落地
数据库·redis·mysql
pycharm使用学习15 小时前
NCSS 2025安装教程(附安装包)NCSS 数据分析环境配置图文教程
数据库·mysql·其他·数据分析
醉城夜风~16 小时前
MySQL 常用内置函数全解:字符串、数值、日期、流程控制实战教程
数据库·mysql
Database_Cool_16 小时前
阿里云 RDS MySQL vs 腾讯云 CDB 国内云关系型数据库深度对比
数据库·mysql·阿里云
X-⃢_⃢-X18 小时前
七、数据库的设计规范
数据库·mysql·架构·设计规范
渣渣灰飞18 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第一章:企业数据库设计规范
数据库·学习·mysql