百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

SQL 基础知识- 数据库与 SQL_数据库是sql

mhr18 2025-02-16 22:01 19 浏览 0 评论

目录

  • What's 数据库
  • 数据库结构
  • SQL 概要
  • 创建数据库与表
  • 删除和更新表

一、What's 数据库

  1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。

  2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。

  3.关系型数据库(Relational Database,RDB):目前应用最广泛的数据库。

  4.结构化查询语言(Structured Query Language,SQL):专门用于操作 RDB。

  5.常见的 5 种关系型数据库管理系统(Relational Database Management System,RDBMS):

    ①Oracle Database:甲骨文公司

    ②SQL Server:微软公司

    ③DB2:IBM 公司

    ④PostgreSQL:开源

    ⑤MySQL:开源

二、数据库结构

  1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。

  2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

  3.表(table):类似 Excel,由行和列组成的二维表。

  4.字段:表的列(垂直方向)。

  5.记录:表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。

  6.单元格:行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。

三、SQL 概要

  1.SQL 语句:用关键字、表名和列名等组合而成的一条语句。

  2.3 种 SQL 语句种类:

    (1)DDL(Data Definition Language,数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。

      ①CREATE:创建数据库和表等对象

      ②DROP:删除数据库和表等对象

      ③ALTER:修改数据库和表等对象

    (2)DML(Data Manipulation Language,数据操作语言):查询或修改表中的记录。

      ①SELECT:查询表中的数据

      ②INSERT:向表中插入数据

      ③UPDATE:修改表中的数据

      ④DELETE:删除表中的数据

    (3)DCL(Data Control Language,数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。

      ①COMMIT:确认对数据库中的数据进行的变更

      ②ROLLBACK:取消对数据库中的数据进行的变更

      ③GRANT:赋予用户的操作权限

      ④REVOKE:取消用户的操作权限

    【备注】DML 使用最频繁。

  3.SQL 语句书写规范:

    ①以分号(;)结尾;

    ②大小写不敏感,不区分关键字的大小写;【注意】插入到表中的数据是区分大小写的,如“HI”、“Hi”和“hi”都不同。

    ③该系列随笔将采用“关键字大写,表名和列名的首字母大写”的格式。

    ④单词使用半角空格或换行符隔开

  4.常数的书写方式:

    字符串、日期:用单引号括起来('),如'Hello','2016-09-24'。

    数字:直接书写,不用加单引号,如:5。

  

四、创建数据库与表

  1.数据库创建:

-- 语法:CREATE DATABASE <数据库名称>
CREATE DATABASE Shop -- 创建名为 Shop 的数据库

  

  2.表的创建

-- 语法:
-- CREATE TABLE <表名>
-- (
--        <列名1> <数据类型> <约束>,
--        <列名1> <数据类型> <约束>,
--        ...
--        <表约束1>,
--        <表约束2>,
--        ...
-- )
-- 创建名为 Shohin 的表
CREATE TABLE Shohin
(
    shohin_id     CHAR(4)      NOT NULL,
    shohin_mei    VARCHAR(100) NOT NULL,
    shohin_bunrui VARCHAR(32)  NOT NULL,
    hanbai_tanka  INTEGER ,
    shiire_tanka  INTEGER ,
    torokubi      DATE ,
    PRIMARY KEY (shohin_id)
 );

  

  3.命名规则:

    ①只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称;

    ②规范要求命名以半角英文字符开头;

    ③名称不能重复。

  4.数据类型的指定:声明该列的数据类型,是一种约束。

  5.数据类型介绍:

    ①INTEGER:整型,意味不能存储小数;

    ②CHAR:字符串型,如 CHAR(10)和 CHAR(100)中的括号表名该列可以存储的字符串的最大长度。它是“定长字符串”,如 CHAR(8) 表示在列中插入 'abc' 时会自动保存成 'abc '(后面5个半角空格)的形式;

    ③VARCHAR:字符串型,类似 CHAR,不同的是它是 “可变长字符串”,如 VARCHAR(8) 在插入 'abc',保存的就是字符串 'abc';

    ④DATE:日期类型;

    ... ...

  6.约束:

    ①非空约束:NULL 是空白(无记录)的意思的关键字,NOT NULL 表示必须输入的约束。

    ②主键约束:主键是可以确定一行数据的列,一般通过它取特定行的数据,它是唯一的,不允许重复。

    ... ...

五、更新和删除表

  1.删除表

-- 语法:DROP TABLE <表名>
DROP TABLE Shohin; -- 删除名为 Shohin 的表

  【注意】被删的表,无法恢复。

  2.更新表

    (1)添加列

-- 语法:ALTER TABLE <表名> ADD <列名> <类型>;
ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中添加名为 Shohin_mei_Kana 类型为 VARCHAR(100) 的列

    (2)删除列

-- 语法:ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 删除 Shohin 表中名为 Shohin_mei_Kana 的列

  【注意】表定义变更后无法恢复。

相关推荐

redis 7.4.3更新!安全修复+性能优化全解析

一、Redis是什么?为什么选择它?Redis(RemoteDictionaryServer)是一款开源的高性能内存键值数据库,支持持久化、多数据结构(如字符串、哈希、列表等),广泛应用于缓存、消...

C# 读写Redis数据库的简单例子

CSRedis是一个基于C#的Redis客户端库,它提供了与Redis服务器进行交互的功能。它是一个轻量级、高性能的库,易于使用和集成到C#应用程序中。您可以使用NuGet包管理器或使用以下命令行命令...

十年之重修Redis原理

弱小和无知并不是生存的障碍,傲慢才是。--------面试者总结Redis可能都用过,但是从来没有理解过,就像一个熟悉的陌生人,本文主要讲述了Redis基本类型的使用、数据结构、持久化、单线程模型...

高频L2行情数据Redis存储架构设计(含C++实现代码)

一、Redis核心设计原则内存高效:优化数据结构,减少内存占用低延迟访问:单次操作≤0.1ms响应时间数据完整性:完整存储所有L2字段实时订阅:支持多客户端实时数据推送持久化策略:RDB+AOF保障数...

Magic-Boot开源引擎:零代码玩转企业级开发,效率暴涨!

一、项目介绍基于magic-api搭建的快速开发平台,前端采用Vue3+naive-ui最新版本搭建,依赖较少,运行速度快。对常用组件进行封装。利用Vue3的@vue/compiler-sfc单文...

项目不行简历拉胯?3招教你从面试陪跑逆袭大厂offer!

项目不行简历拉胯?3招教你从面试陪跑逆袭大厂offer!老铁们!是不是每次面试完都感觉自己像被大厂面试官婉拒的渣男?明明刷了三个月题库,背熟八股文,结果一被问项目就支支吾吾,简历写得像大学生课程设计?...

谷歌云平台:开发者部署超120个开源包

从国外相关报道了解,Google与Bitnami合作为Google云平台增加了一个新的功能,为了方便开发人员快捷部署程序,提供了120余款开源应用程序云平台的支持。这些应用程序其中包括了WordPre...

知名互联网公司和程序员都看好的数据库是什么?

2017年数据库领域的最大趋势是什么?什么是最热的数据处理技术?学什么数据库最有前途?程序员们普遍不喜欢的数据库是什么?本文都会一一揭秘。大数据时代,数据库的选择备受关注,此前本号就曾揭秘国内知名互联...

腾讯云发布云存储MongoDB服务

近日,著名安全专家兼Shodan搜索引擎的创建者JohnMatherly发现,目前至少有35000个受影响的MongoDB数据库暴露在互联网上,它们所包含的数据暴露在网络攻击风险之中。据估计,将近6...

已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有

前言程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉...

面试官:举个你解决冲突的例子?别怂!用这个套路……

面试官:举个你解决冲突的例子?别怂!用这个套路……最近收到粉丝私信,说被问到:团队技术方案有分歧怎么办?当场大脑宕机……兄弟!这不是送命题,是展示你情商+技术判断力的王炸题!今天教你们3招,用真实案例...

面试碰到MongoDB?莫慌,跟面试官这样吹MongoDB 复制集

推荐阅读:吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点阿里一线架构师分享的技术图谱,进阶加薪全靠它十面字节跳动,依旧空手而归,我该放弃吗?文末会分享一些MongoDB的学...

SpringBoot集成扩展-访问NoSQL数据库之Redis和MongoDB!

与关系型数据库一样,SpringBoot也提供了对NoSQL数据库的集成扩展,如对Redis和MongoDB等数据库的操作。通过默认配置即可使用RedisTemplate和MongoTemplate...

Java程序员找工作总卡项目关?

Java程序员找工作总卡项目关?3招教你用真实经历写出HR抢着要的简历!各位Java老哥,最近刷招聘软件是不是手都划酸了?简历投出去石沉大海,面试邀请却总在飞别人的简历?上周有个兄弟,13年经验投了5...

Java多租户SaaS系统实现方案

嗯,用户问的是Java通过租户id实现的SaaS方案。首先,我需要理解用户的需求。SaaS,也就是软件即服务,通常是指多租户的架构,每个租户的数据需要隔离。用户可能想知道如何在Java中利用租户ID来...

取消回复欢迎 发表评论: