SQL基础

作者: 上炼致知 | 来源:发表于2020-03-02 19:11 被阅读0次

一、数据库和SQL

用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS

和Excel一样,采用由行和列组成的二维表管理数据,这种类型的DBMS称为关系数据库管理系统(Relational Database Management System,RDBMS

使用RDBMS时,最常见的系统结构 v个美女你不不不不不不不不不客户端/服务器类型(C/S类型)

使用RDBMS时的系统结构.jpeg
服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或是安装了此类程序的设备(计算机)。

RDBMS也是一种服务器,能够从保存在硬盘上的数据库中读取数据并返回;

与之相对,向服务器发出请求的程序(软件),或者安装了该程序的设备(计算机)称为客户端。多个客户端可以同时对同一个数据库进行读写操作。

用来管理数据的二维表在关系数据库中简称为。一个数据库中可以存储多个表。

数据库和表的关系.jpeg
根据SQL语句的内容返回的数据同样必须是二伟标的形式,这也是关系数据库的特征之一。表的称为字段,它代表了保存在表中的数据项目。定义为数字的列只能输入数字,定义为日期的列只能输入日期。

与之相对,表的,称为记录

SQL语句及其种类

SQL用关键字、表名、列名等组合而成的一条语句来描述操作的内容。

SQL语句可以分为三类:

DDL(Data Definition Language,数据定义语言)

用来创建或者删除存储数据用的数据库,以及数据库中的表对象等对象。

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

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

ALTER:修改数据库和表等对象的结构;

DML(Data Manipulation Language,数据操纵语言)

用来查询或者变更表中的记录。

SELECT:查询表中的数据;

INSERT:向表中插入新数据;

UPDATE:更新表中的数据;

DELETE:删除表中的数据;

DCL(Data Control Language,数据控制语言)

用来确认或取消对数据库中的数据进行的变更。此外,还可以对RDBMS的用户是否有权限操作数据库中的对象进行设定。

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

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

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

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

SQL基本书写规则

SQL语句以分号结尾

SQL不区分关键字的大小写,表名和列名也是如此;但是插入到表中的数据是区分大小写

可以根据个人喜好选择大写还是小写(或者混杂),但为了理解起来更加容易,可以用以下规则来书写SQL:

  • 关键字大写
  • 表名的首字母大写
  • 其余(列名等)小写

命名规则:只能使用半角英文字母数字下划线作为数据库、表和列的名称,名称必须以半角英文字母开头;且,同一个数据库中不能创建两个相同名称的表;

在SQL语句中直接书写的字符串、日期或者数字称为常数;常数的书写方式如下所示:

  • 字符串:使用单引号,如:'abc'
  • 日期:同样需要使用单引号将其扩起来,如'2020-03-16'
  • 数字:SQL书写数字不需要使用符号标识直接写,如1000

表的创建

表的最上面一行,是数据的项目名;真正的数据是从第二行开始;

创建表之前先要创建用来存储表的数据库。创建数据库:CREATE DATABASE语句

-- 创建名为shop的数据库
CREATE DTABASE shop;

创建表:CREATE TABLE语句

-- 创建商品表Product
-- 列名右边的INTEGER和CHAR等关键字,是用来声明该列的数据类型的
CREATE TABLE Product
(product_id CHAR(4) NOT NULL,
    product_name    VARCHAR(100)    NOT NULL,
    product_type    VARCHAR(32) NOT NULL,
    sale_price  INTEGER ,
    purchase_price  INTEGER ,
    regist_price    INTEGER ,
    PRIMARY_KEY (product_id));
  • INTEGER型:指定存储整数的数据类型;
  • CHAR:指定存储字符串的列的数据类型,在括号中指定该列可以存储的字符串的最大长度(以定长字符串的形式);
  • VARCHAR:也是指定存储字符串的列的数据类型,也可以通过括号内的数字来制定字符串的最大长度,但是以可变长字符串的形式来保存字符串;
  • VARCHAR2: Oracle中使用VARCHAR2类型;

(定长字符串在字符数未达到最大长度时会用半角空格补足,但可变长字符串不同,即使字符数未达到最大长度,也不会用补足)

约束:是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能;如NUT NULL表示必输;

主键约束

-- 给product_id列设置主键约束
PRIMARY KEY (product_id)

所谓键,就是在指定特定数据时使用的列的组合;主键可以指定特定一行的数据。

表的删除和更新

表的删除(DROP TABLE)
-- 删除Product表
DROP TABLE Product

删除的表是无法恢复的;

表定义的更新(ALTER TABLE)
  • 添加列
-- 在Product表中添加一列product_name_pinyin
-- 1.MySQL、DB2、PstgreSQL
ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(10);
-- 2.Oracle,Oracle可以添加多列,括号括起来
ALTER TABLE Product ADD (product_name_pinyin VARCHAR2(100));
-- 3.SQL Server
ALTER TABLE Product ADD product_name_pinyin VARCHAR(100);
  • 删除列
-- 删除Product表中的product_name_pinyin列
-- 1.MySQL、SQL Server、DB2、PstgreSQL
ALTER TABLE Product DROP COLUMN product_name_pinyin;
-- 2.Oracle,Oracle删除多列的时候可以用括号括起来
ALTER TABLE Product DROP (product_name_pinyin);

ALTER TABLE语句和DROP TABLE语句一样,执行之后无法恢复;

相关文章

  • sql

    sql-基础sql-基础查询-1sql-基础查询-2sql-更新 概览 数据库(Database,DB):将大量数...

  • SQL基础及元数据获取(数据类型,表的属性)

    1、SQL基础应用 ①.SQL的介绍SQL标准:SQL-92、SQL-99SQL_MODE:都是为了保证SQL语句...

  • MySql手动注入

    information_schema SQL基础 1.1 什么是sql? SQL(structured query...

  • MySQL

    数据类型 sql基础 数据库表 SQL SELECT 语句: SQL WHERE 子句: SQL AND & OR...

  • SQL语句

    SQL基础应用 SQL语句自动补全 SQL的介绍 SQL-92标准SQL-99标准 image SQL常用分类 表...

  • SQL高级运用

    -- =================================sql基础补充==============...

  • mysql的用法2

    -- =================================sql基础补充==============...

  • Oracle学习-day26:SQL语句

    一、SQL语言基础 1.什么是SQL语言? (1)SQL, Structured Query Language, ...

  • oracle 基础复习

    1. SQL 基础 https://mubu.com/doc/3ANPHhveeK 2. PL/SQL 基础 ht...

  • mysql手工注入

    SQL基础 1.1 什么是sql? SQL(structured query language),即结构化查询语言...

网友评论

      本文标题:SQL基础

      本文链接:https://www.haomeiwen.com/subject/koebkhtx.html