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

SQL通用语法、SQL分类以及DDL

1.SQL

1.1SQL通用语法

  • 1.SQL语句可以单行或多行书写,以分号结尾
  • 2.SQL语句可以使用空格/缩进来增强语句的可读性。
  • 3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  • 4.注释:
  1. 单行注释:–空格 注释内容或#注释内容(MySQL特有)
2.多行注释: /*注释内容*/

1.2SQL分类

分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据用户,控制数据库的访问控制权限

1.3 DDL

1.3.1DDL-数据库操作

查询

查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET字符集][COLLATE排序规则];

删除

DROP DATABASE[IF EXISTS]数据库名;

使用

USE 数据库名;
1.3.2DDL-表操作-查询

查询当前数控库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE表名;
1.3.3DDL-表操作-创建
CREATE TABLE 表明(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],...
字段n 字段n类型[COMMENT 字段n注释])COMMENT 表注释

注意:最后一个字段后面是没有逗号的。

1.3.4数据库中的数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3.5简单案例分析题

/*1.编号(纯数字)
2.员工工号(字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字)
5.年龄(正常人年龄,不可能存储负数)
6.身份证号(二代身份证均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)*/create table emp(id int,workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrydate date comment '入职时间')comment '员工表';

在这里插入图片描述

1.3.5DDL-表操作-修改

添加字段

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

为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)

在这里插入图片描述

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)

修改字段名和字段类型

ALTER TABLE 表名CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束]

将emp表中的nickname字段修改为username,类型为varchar(30)

在这里插入图片描述

删除字段:

ALTER TABLE 表名 DROP 字段名;

将emp表的字段username删除

在这里插入图片描述

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

将emp表的表名修改为employee

在这里插入图片描述

1.3.6DLL-表操作-删除

删除表

DROP TABLE[IF EXISTS]表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

在这里插入图片描述

在这里插入图片描述

注意:在删除表时,表中的全部数据也会被删除。

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

相关文章:

  • 静态链接和动态链接
  • 构建智能门禁安防系统:树莓派 4B、OpenCV、SQLite 和 MQTT 的应用(代码示例)
  • 基于 Konva 实现Web PPT 编辑器(二)
  • 【开源免费】基于SpringBoot+Vue.JS在线竞拍系统(JAVA毕业设计)
  • Qt TabWidget添加多个窗口,实现分页窗体布局
  • HarmonyOS开发实战( Beta5版)合理使用动画丢帧规范实践
  • 基于BiLSTM-CRF的医学命名实体识别研究(下)模型构建
  • 5.sklearn-朴素贝叶斯算法、决策树、随机森林
  • VMWARE VCENTER6.7 VCSA通过Web5480进行版本升级
  • GIT使用常见问题
  • 内核链表
  • 行空板上YOLO和Mediapipe视频物体检测的测试
  • 【Spring Boot 3】【Web】ProblemDetail
  • 市占率最高的显示器件,TFT_LCD的驱动系统设计--Part 1
  • Linux基础 -- 获取CPU负载信息
  • Django 中的用户界面 - 创建速度计算器
  • spring security 如何解决跨域的
  • 日志系统前置知识
  • 【Spring Boot 3】【Web】全局异常处理
  • Dcoker 运行es
  • 7系列FPGA HR/HP I/O区别
  • sqli-labs靶场通关攻略(五十一到六十关)
  • c语言中的动态内存管理
  • 生信机器学习入门4 - scikit-learn训练逻辑回归(LR)模型和支持向量机(SVM)模型
  • COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection
  • 9.5LeetCode
  • 数据仓库系列13:增量更新和全量更新有什么区别,如何选择?
  • 数据 结构(内核链表)
  • 学习node.js十三,文件的上传于下载
  • 【刷题笔记】删除并获取最大点数粉刷房子