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.删除数据表

相关推荐
2401_884810742 小时前
MySQL运算符知识点
数据库·mysql
Dream25129 小时前
【Python与MySQL交互】
数据库·mysql
Tttian6229 小时前
Pycharm访问MySQL数据库·上
数据库·mysql·pycharm
唐可盐12 小时前
如何进行mysql慢查询日志设置以及日志管理与分析
运维·数据库·mysql
白云如幻13 小时前
MySQL数据表的管理
数据库·mysql
ssxueyi13 小时前
Flink CDC实时同步mysql数据
大数据·mysql·adb·flink·flink cdc
MC皮蛋侠客15 小时前
sqlalchemy异步方法使用
python·mysql
潇洒哥Kahn15 小时前
docker启动mysql 8.1
mysql·docker·容器
阿哈8316 小时前
Z240001 基于Java+MySQL+SpringBoot+Vue实现的酒店管理系统的设计与实现
java·spring boot·mysql