1.SQL

本文介绍了数据库的基础概念,包括数据库的类型如关系型数据库和NoSQL数据库,重点讲解了MySQL的关系型数据库特性,如表和关系的概念,以及安装MySQL和相关软件Navicat。此外,还详细阐述了MySQL的常用数据类型,并概述了SQL语句的基本结构和规范。在表的操作部分,涉及创建、查看、修改和删除表的命令,同时讨论了表的约束,包括非空约束、默认值、唯一约束、主键约束和外键约束。最后,简要介绍了数据的增删改操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.数据库概述

  1. 数据库(DataBase:DB):数据库是按照数据结构来组织、存储和管理数据的仓库.

  2. 我们一般说的数据库,就是指的DBMS: 数据库服务器

常见的关系数据库:
  数据库系统            所属公司
--------------------------------------
  Oracle                   Oracle 
  DB2                      IBM
  SQL Server               MS
  MySQL                    AB-->SUN-->Oracle

  1. 后关系数据库技术阶段;

    1. 关系型数据库存在数据模型,性能,拓展伸缩性的缺点,出现了:
    2. ORDBMS:面向对象数据库技术。
    3. NoSQL :结构化数据库技术。
  2. 常见的NoSQL数据库分为四大类:

    1. 键值存储数据库:Oracle BDB,Redis,BeansDB
    2. 列式储数数据库:HBase,Cassandra,Riak
    3. 文档型数据库:MongoDB,CouchDB
    4. 图形数据库:Neo4J,InfoGrid,Infinite Graph
  3. 书写规则:

    1. 数据库中,SQL语句大小写不敏感
    2. SQL语句可单行或多行书写
    3. 在SQL语句中,关键字不能跨多行或缩写
    4. 为了提高可读性,一般关键字大写,其他小写
    5. 空格和缩进使程序易读

二.表/关系

表又叫二维表(有行和列) --> 存储数据,
表具有固定的列数和任意的行数,在数学上称为“关系”。

二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为一条记录
表中的列表示属性,称为Field,相当于通常记录中的一个数据项,也叫列、字段。

三.安装相关软件

  1. MySQL

  2. 安装navicat

四.MySQL常用类型

    Java                           MySQL
-------------------------------------------
    int                                INT
    long                             BIGINT
    BigDecimal                 DECIMAL
    boolean                      BIT
    Date/Calender          DATE/DATETIME/TIMESTAMP
    char/String                VARCHAR	/CHAR/TEXT

五.SQL

SQL包含6个部分:

一:数据查询语言(DQL):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
二:数据操作语言(DML):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:数据控制语言(DCL):
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
五:数据定义语言(DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

六.表的操作

  1. 创建表
CREATE TABLE 表名(
   列名1    列的类型   [约束],
   列名2    列的类型   [约束],
   ....
   列名N    列的类型   [约束]   
);

  1. 查看表目录:
SHOW TABLES;
  1. 查看表结构:
DESC table_name;
  1. 查看DDL语句:
SHOW CREATE TABLE table_name;
  1. 删除表:
DROP TABLE table_name;

七.表的约束

表的约束(针对于某一列):

  1. 非空约束:NOT NULL(NK),不允许某列的内容为空。
  2. 设置列的默认值:DEFAULT。
  3. 唯一约束:UNIQUE(UK),在该表中,该列的内容必须唯一。
  4. 主键约束:PRIMARY KEY(PK), 非空且唯一。
  5. 主键自增长:AUTO_INCREMENT,从1开始,步长为1。(MySQL特有)
    一张表只能存在一个自动增长的列(一般该列是主键列)
  6. 外键约束:FOREIGN KEY(FK),A表中的外键列的值必须参照于B表中的某一列(B表主键)-

八.数据操作(DML)

  1. 插入语句:一次插入操作只插入一行.
INSERT [INTO]  table_name (column1,column2,column3...)
VALUES  (value1,value2,value3...);
  1. 删除操作:
DELETE  FROM	表名   [WHERE 条件];
  1. 更新操作:
UPDATE  表名   
SET  列1 = 值1,   列2 = 值2   [, columnName = value, ...]
[WHERE  条件];
#需求:往t_student插入名字为西门吹·牛,id为1,年龄为32岁的数据
#1.插入完整数据记录/空值
insert into t_student(id,name,age) VALUES(1,'西门吹·牛',32);
#2.插入记录的一部分
insert INTO t_student(name,age) VALUES('西门吹·水',12);
#3.没有写列插入数据:按照表建表的列顺序
insert into t_student VALUES(3,'乔峰',23);

#需求:删除id为1学生信息
delete from t_student where id = 1;
#删除所有的信息
delete from t_student;

#需求:将id为1的学生名字改为司空灾星
update t_student set name = '司空灾星' where id = 1;
#需求:将姓名为乔峰的学生改为血煞年龄为18
update t_student set name = '血煞' , age = 18 where name = '乔峰'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值