当前位置:网站首页>MySQL之SQL结构化查询语言
MySQL之SQL结构化查询语言
2022-08-04 05:32:00 【久违de约定】
目录
一、SQL分类
DDL Data Definition Language 数据定义语言
用于完成对数据库对象(数据库、数据表、视图、索引等)的创建、删除、修改
DML Data Manipulation Language 数据操作/操纵语言
用于完成对数据表中的数据的添加、删除、修改操作
添加:将数据储存到数据表
删除:将数据从数据表中移除
修改:对数据表中得数据进行修改
DQL Data Query Language 数据查询语言
用于将数据表中的数据查询出来
DCL Data Control Language 数据控制语言
用于完成事务管理等控制性操作
二、SQL基本语法
在MySQL Command Line Client 或者navicat等工具中都可以编写SQL指令
SQL指令不区分大小写
每条SQL表达式结束之后都以 ; 结束
SQL关键字之间以 空格 进行分隔
SQL之间可以不限制换行(可以有空格的地方就可以有换行)
三、 DDL数据定义语言
3.1 DDL-数据库操作
查询数据库
## 显示当前mysql中的数据库列表
show databases;
## 显示指定名称的数据的创建的SQL指令
show create database <dbName>;创建数据库
## 创建数据库 dbName表示创建的数据库名称,可以自定义
create database <dbName>;
## 创建数据库,当指定名称的数据库不存在时执?创建
create database if not exists <dbName>;
## 在创建数据库的同时指定数据库的字符集(字符集:数据存储在数据库中采用的编码格式utf8 gbk)
create database <dbName> character set utf8;
修改数据库 修改数据库字符集
## 修改数据库的字符集
alter database <dbName> character set utf8; # utf8 gbk
删除数据库 删除数据库时会删除当前数据库中所有得数据表以及数据表中得数据
## 删除数据库
drop database <dbName>
## 如果数据库存在则删除数据库
drop database if exits <dbName>使用/切换数据库
use <dbName>3.2 DDL-数据表操作
创建数据表
数据表实际就是一个二维得表格,一个表格是由多裂组成,表格中得每一类称为表格得一个字段

create table students(
stu_num char(8) not NULL unique,
stu_name varchar(20) not NULL,
stu_gender char(2) not null,
stu_age int not null,
stu_tel char(11) not null unique,
stu_qq varchar(11) unique
);查询数据表
show tables;
查询表结构
desc <tableName>;删除数据表
## 删除数据表
drop table <tableName>;
## 当数据表存在时删除数据
drop table if exits <tableName>;
修改数据表
## 修改表名
alter table <tableName> rename to <newTableName>;
## 数据表也是字符集得,默认字符集和数据库一致
alter table <tableName> character set utf8;
## 添加列(字段)
alter table <tableName> add <columnName> varchar(200);
## 修改列(字段)得列表和类型
alter table <tableName> change <oldColumName> <newCloumnName> type;
## 只修改字段类型
alter table <tableName> modify <columnName> <newType>;
## 删除列(字段)
alter table stus drop <columnName>;
3.3 MySQL数据类型
数据类型,指的是数据表中的列中文支持存放的数据的类型
3.3.1 数值类型
在mysql中有多种数据类型可以存放数值,不同的类型存放的数值的范围或者形式是不同的

3.3.2 字符串类型

3.3.3 日期类型
在MySQL数据库中,我们可以使用字符串来存储时间,但是如果我们需要基于时间字段
进行查询操作(查询在某个时间段内的数据)就不便于查询实现

四、字段约束
4.1 约束介绍
在创建数据表的时候,指定的对数据表的列的数据限制性的要求(对表的列中的数据进
行限制)
为什么要给表中的列添加约束呢?
保证数据的有效性
保证数据的完整性
保证数据的正确性
字段常用的约束有哪些呢?
非空约束(not null):限制此列的值必须提供,不能为null
唯一约束(unique):在表中的多条数据,此列的值不能重复
主键约束(primary key):非空+唯一,能够唯一标识数据表中的一条数据
外键约束(foreign key):建立不同表之间的关联关系
4.2 非空约束
限制数据表中此列的值必须提供
创建表:设置图书表的 book_name not nul
create table books(
book_isbn char(4),
book_name varchar(10) not null,
book_author varchar(6)
);
添加数据

睡觉,熬不住了,找个时间写完吧,还得上课QAQ
边栏推荐
- target has libraries with conflicting names: libcrypto.a and libssl.a.
- 文件权限管理 ugo
- arm learning-1-development board
- JUC并发容器——ConcurrentLinkedQueue
- 安装MySQL的详细步骤
- Question 1000: Input two integers a and b, calculate the sum of a+b, this question is multiple sets of test data
- Vmmem 进程(WSL2)消耗内存巨大
- PS像素画学习-1
- JDBC第一学之进行数据库连接时出现The server time zone.....解决办法
- 使用cef离屏渲染技术实现在线教育课件和webrtc视频回放融合录制
猜你喜欢

2022在 Go (Golang) 中使用微服务的系统课程

Question 1000: Input two integers a and b, calculate the sum of a+b, this question is multiple sets of test data

基于Webrtc和Janus的多人视频会议系统开发6 - 从Janus服务器订阅媒体流

【HIT-SC-MEMO6】哈工大2022软件构造 复习笔记6

网络通信与Socket编程概述

LeetCode_Nov_3rd_Week

动态内存管理-C语言

枚举和联合(自定义类型)-C语言

Completely remove MySQL tutorial

Copy Siege Lion's Annual "Battle" | Review 2020
随机推荐
【HIT-SC-MEMO4】哈工大2022软件构造 复习笔记4
LeetCode_Nov_4th_Week
并发概念基础:并发、同步、阻塞
JUC并发容器——ConcurrentLinkedQueue
arm学习-1-开发板
抽象类、内部类和接口
arm learning-1-development board
target has libraries with conflicting names: libcrypto.a and libssl.a.
An abstract class, internal classes and interfaces
LeetCode_Nov_4th_Week
Fabric v1.1 环境搭建
Unity Day03
LeetCode_Nov_5th_Week
分布式cache项目
2020-03-27
MySQL基础
[English learning][sentence] good sentence
理想的生活
【c语言】整数的二进制表现形式是什么?
MySQL存储过程学习笔记(基于8.0)