当前位置: 首页 > news >正文

[JavaWeb]SQL介绍-DDL-DML

SQL介绍-DDL-DML

  • 一.SQL简介
    • 1.简介
    • 2.SQL通用语法
    • 3.SQL语言的分类
  • 二.DDL-操作数据库与表
    • 1.DDL操作数据库
    • 2.DDL操作表
      • ①.查询表(Retrieve)
      • ②.创建表(Create)
      • ③.修改表(Update)
      • ④.删除表(Delete)
  • 三.Navicat的安装与使用
  • 四.DML-操作表数据
    • 1.添加(Insert)
    • 2.修改(Update)
    • 3.删除(Delete)

一.SQL简介

1.简介

  • SQL: Structured Query Language–结构化查询语言
  • 用来操作关系型数据库的编程语言, 定义了关系型数据库的统一标准
  • 每一种数据库可能有不一样的语法, 我们称其为"方言"

2.SQL通用语法

  • SQL语句可以单行或多行书写,以分号结尾
  • MySQL语句不区分大小写, 但是关键字建议用大写
  • 注释:
    单行注释-- 注释内容(–后必须有空格)或#注释内容(MySQL特有)(#后可以没有空格)
    多行注释/*注释*/

3.SQL语言的分类

  • DDL(Data Definition Laguage)数据定义语言,用来定义数据对象: 数据库, 表, 列等
  • DML(Data Manipulation Laguage)数据操作语言, 用来对数据库中表的数据进行增删改
  • DQL(Data Query Language)数据查询语言, 用来查询数据库中的记录(数据)
  • DCL(Data Control Language)数据控制语言, 用来定义数据库的访问权限和安全级别, 以及创建用户

二.DDL-操作数据库与表

1.DDL操作数据库

动作SQL语句
查询数据库SHOW DATABASES;
创建数据库CREATE DATABASE 数据库名称;
创建(判断是否已经存在)CREATE DATABASE IF NOT EXISTS 数据库名称;
删除数据库DROP DATABASE 数据库名称;
删除(判断是否还存在)DROP DATABASE IF EXISTS 数据库名称;
查看当前使用的数据库SELECT DATABASE();
使用数据库USE 数据库名称;

2.DDL操作表

①.查询表(Retrieve)

  • 查询当前数据库下所有表的名称SHOW TABLES;
  • 查询表结构DESC 表名称;

②.创建表(Create)

  • 创建表用CREATE TABLE 表名来进行创建具体语法如下
create table 表名 (字段名1 数据类型1,字段名2 数据类型2,...,字段名n 数据类型n
);
  • SQL的数据类型基本可以分为三类
    数值型
    日期型
    字符串型

案例练习:

create table student(id int,name varchar(10),gender char(1),birthday date,score double(5,2),email varchar(64),tel varchar(15),status tinyint
);

③.修改表(Update)

  • 修改表的命令一般以ALTER TABLE开头具体可以分为
操作语法
修改表名ALTER TABLE 表名 RENAME TO 新表名;
添加一列ALTER TABLE 表名 ADD 列名 数据类型;
修改数据类型ALTER TABLE 表名 MODIFY 列名 新数据类型;
修改列名和数据类型ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
删除列ALTER TABLE 表名 DROP 列名;

④.删除表(Delete)

  • 删除表DROP TABLE 表名;
  • 删除时判断是否存在DROP TABLE IF EXISTS 表名;

三.Navicat的安装与使用

  • Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案.
  • 它为开发者提供了一款直观而强大的图形界面.
  • 官网链接: http://www.navicat.com.cn

    安装完成后直接打开,填写需要连接的ip与主机的地址
    如果连接过程提示报错,可以参看这个博主的文章
  • 登录成功后可以通过Navicat来查看MySQL的数据库了

四.DML-操作表数据

1.添加(Insert)

说明语法
给指定的列添加数据INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
给全部列添加数据INSERT INTO 表名 VALUES(值1,值2,...);
批量添加数据INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...),...
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
-- 查询所有数据
SELECT*
FROMstu;-- 给指定列添加数据 INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
INSERT INTO stu (id, NAME) VALUES (1, '叶子');-- 给所有列添加数据(可以省略列名的列表)INSERT INTO 表名 VALUES(值1,值2,...);
INSERT INTO stu
VALUES (2,'老黄','男','1997-07-24',99.1,'14587138@qq.com','11929305651',1);-- 批量添加,其实就是把之前的括号中的内容多次执行
INSERT INTO stu
VALUES(3,'罗磊','男','1997-05-24',110.1,'14333138@qq.com','11929467551',1),(4,'娟老师','女','1999-04-14',120.1,'556587138@qq.com','1349305651',1),(5,'雷der','男','1993-04-24',130.1,'16487138@qq.com','17629305651',1);SELECT * FROM stu;

2.修改(Update)

  • 语法UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
-- 将表中 老黄的邮箱改为163邮箱
UPDATE stu SET email = 'finsq@163.com' WHERE id=2;-- 将表中老黄的分数改为100,电话改为110,状态改为3
UPDATE stu SET score=100,tel=110,`status`=3 WHERE name='老黄';-- 注意:如果update语句中不添加where条件,则会修改表中的所有数据!!!!

3.删除(Delete)

  • 与修改相似DELETE FROM 表名 [WHERE 条件];
-- 删除表中 '雷der'相关的数据
DELETE FROM stu WHERE name='雷der';SELECT * FROM stu;
-- 如果不加where限制会清除所有表数据

B站视频课程
笔记与源码文件

http://www.lryc.cn/news/105412.html

相关文章:

  • git源码安装(无sudo权限)
  • Web3 叙述交易所授权置换概念 编写transferFrom与approve函数
  • Redis系列二:Clion+MAC+Redis环境搭建
  • Linux下 Docker容器引擎基础(2)
  • 现场服务管理系统有哪些?5个现场服务管理软件对比
  • leetcode 912.排序数组
  • 利用MMPreTrain微调图像分类模型
  • express学习笔记3 - 三大件
  • Java课题笔记~Maven基础
  • 三步问题(力扣)n种解法 JAVA
  • flask---》登录认证装饰器/配置文件/路由系统
  • Jvm实际运行情况-JVM(十七)
  • 【BASH】回顾与知识点梳理(二)
  • 【分布式训练】Accelerate 多卡训练,单卡评测,进程卡住的解决办法
  • 时间复杂度为O(nlogn)的两种排序算法
  • java调用onnx模型,支持yolov5和yolov7
  • DP-GAN损失
  • 自监督去噪:Noise2Void原理和调用(Tensorflow)
  • Mac 安装配置adb命令环境(详细步骤)
  • GDAL C++ API 学习之路 (2) GDALRasterBand篇 代码示例 翻译 自学
  • springboot对静态资源的支持
  • WPF实战学习笔记27-全局通知
  • openSUSE安装虚拟化 qemu kvm
  • 基于linux下的高并发服务器开发(第四章)- 多进程实现并发服务器(回射服务器)
  • 【程序分析】符号执行
  • 实验笔记之——Windows下的Android环境开发搭建
  • #rust taur运行报错#
  • 学习购药系统源码:从前端到后端的技术探索
  • 第九次CCF计算机软件认证
  • 【计算机网络】传输层协议 -- TCP协议