精华内容
下载资源
问答
  • 常用关系型数据库管理系统

    千次阅读 2020-12-22 19:42:39
    1、Oracle 数据库

    1、Oracle 数据库
    在这里插入图片描述

    • Oracle 前身叫 SDL,由 Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979年,Oracle 公司引入了第一个商用 SQL关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前 Oracle 关系数据库产品的市场占有率数一数二。
    • Oracle 公司是目前全球最大的数据库软件公司,也是近年业务增长极为迅速的软件提供与服务商。
    • 主要应用范围:传统大企业,大公司,政府,金融,证券等等。
    • 版本升级:Oracle8i,Oracle9i,Oracle10g,Oracle11g,Oracle12c。
      2、MySQL 数据库
      在这里插入图片描述
    • MySQL 数据库是一个中小型关系型数据库管理系统,软件开发者为瑞典 MySQL AB 公司。在2008年1月16号被 Sun 公司收购,后 Sun 公司又被 Oracle 公司收购。目前MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多大中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库,甚至国内知名的淘宝网也选择弃用 Oracle 而更换为更开放的 MySQL。
    • MySQL 数据库主要应用范围:互联网领域,大中小型网站,游戏公司,电商平台等等。
      3、MariaDB 数据库
      在这里插入图片描述
    • MariaDB 数据库管理系统是 MySQL 数据库的一个分支,主要由开源社区维护。开发这个 MariaDB 数据库分支的可能原因之一是:甲骨文公司收购了MySQL 后,有将 MySQL 闭源的潜在风险,因此 MySQL 开源社区采用分支的方式来避开这个风险。
    • 开发 MariaDB 数据库的目的是完全兼容 MySQL 数据库,包括 API 和命令行,使之能轻松的成为 MySQL 的代替品。在存储引擎方面,使用 XtraDB (英语:XtraDB)来代替MySQL 的 InnoDB MariaDB 由 MySQL 的创始人 Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以 10 亿美元的价格,将自己创建的公司MySQL AB卖给了 SUN,此后,随着 SUN 被甲骨文收购,MySQL 的所有权也落入Oracle 的手中,MariaDB 数据库的名称来自 MySQL 的创始人Michael Widenius 的女儿 Maria 的名字。
      4、SQL Server 数据库
      在这里插入图片描述
    • Microsoft SQL Server是微软公司开发的大型关系型数据库系统。1987年,微软和IBM合作开发完成 OS/2,IBM 在其销售的 OS/2 ExtendedEdition 系统中绑定了 OS/2 DatabaseManager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向 Sybase,同 Sybase 签订了合作协议,使用 Sybase 的技术开发基于 OS/2 平台的关系型数据库。1989年,微软发布了 SQLServer1.0 版。
    • SQL Server 的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。
    • SQL Server 可以与 Windows 操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都能得到较大的 提升。SQL Server 的缺点是只能在 Windows 系统下运行。
    • 主要应用范围:部分企业电商(央视购物),使用windows服务器平台的企业。
    展开全文
  • 8大常用数据库管理系统简介

    万次阅读 多人点赞 2018-10-25 17:36:36
    数据库管理系统(Database Management System)是种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。是企业进行数据管理及维护不可或缺的数据管理软件。    8大常用数据库管理系统简介: ...

    转自:http://vps.zzidc.com/vpsjishu/817.html

    数据库管理系统(Database Management System)是种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。是企业进行数据管理及维护不可或缺的数据管理软件。

      8大数据库管理系统

      8大常用数据库管理系统简介:

      

      1.Oracle:

      

      Oracle即Oracle Database,或Oracle RDBMS,的简称。是甲骨文公司的款关系数据库管理系统。它是在数据库域直处于先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是种高效率、可靠性好的适应高吞吐量的数据库解决方案。

      

      2.Sybase:

      

      Sybase是种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型关系型数据库系统。Sybase提供了套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。

      

      3.Informix:

      

      Informix是IBM公司出品的关系数据库管理系统。作为个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰数据服务系统。IBM对Informix和DB2都有长远的规划,两个数据库产品互相吸取对方的技术优势。

      

      4.MicrosoftSQLServer:

      

      Microsoft SQL Server是Microsoft公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,是个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业的数据管理。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

      

      5.Microsoft Access:

      

      Microsoft Office Access是结合了Microsoft JetData base Engine和图形用户界面两项特点,由微软发布的关系数据库管理系统,是Microsoft Office的系统程序之,在包括专业版和更高版本的office版本里面被单独出售。

      

      6.Visual FoxPro:

      

      Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,源于美国Fox Software公司推出的数据库产品FoxBase,在DOS上运行,与xBase系列相容。用FoxPro来开发数据库,既简单又方便。目前新版为Visual FoxPro9.0,而在学校教学和教育部门考证中还依然延用经典版的Visual FoxPro6.0。在桌面型数据库应用中,处理速度快,是日常工作中的得力助手。

      

      7.DB2:

      

      DB2是IBM出品的系列关系型数据库管理系统,分别在不同的操作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机操作系统,但在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了ORACLE的数据库产品。

      

      8.MySQL:

      

      MySQL是流行的关系型数据库管理系统,特别是在WEB应用方面,MySQL是好的关系数据库管理系统。由瑞典MySQLAB公司开发,目前属于Oracle旗下公司。MySQL所使用的SQL语言是用于访问数据库的常用标准化语言。软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这特点,般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP,Linux和Apache可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的种web服务器解决方案之,称之为LAMP。

      

      基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期DBMS软件的性能还将更新和完善,应用域也将进步地拓宽。

    展开全文
  • MySql数据库管理系统

    千次阅读 2019-03-01 12:21:14
    数据库管理系统 1.数据库管理系统(DBMS)的概述 1.1什么是DBMS:数据的仓库 方便查询 可存储的数据量大 保证数据的完整、一致 安全可靠 1.2 DBMS的发展:今天主流数据库为 :关系型数据库管理系统 (RDBMS 使用表格...

    MySql数据库管理系统

    注: 本文内容由本人老师提供,本人整理,希望可以帮助到您

    1.数据库管理系统(DBMS)的概述

    1.1什么是DBMS:数据的仓库
    1. 方便查询
    2. 可存储的数据量大
    3. 保证数据的完整、一致
    4. 安全可靠
    1.2 DBMS的发展:今天主流数据库为 :关系型数据库管理系统

    (RDBMS 使用表格存储数据)

    1. 常见DBMS:OrcaleMySQLSQL ServerDB2Sybase
    2. DBMS = 管理程序 + 多个数据库(DB)
    3. DB = 多个table(不只是table,但这里先不介绍其他组成部分)
    4. table的结构(即表结构)和table的记录( hh即表记录)的区别!
    5. 应用程序与DBMS:应用程序使得DBMS来存储数据!
    学号姓名性别年龄
    strstrstrint
    1001张三23

    2.安装MySQL

    参数《MySQL安装图解.doc》安装

    2.1 MySQL安装成功后会在两个目录中存储文件:
    • D:\Program Files\MySQL\MySQL Server 5.1:DBMS管理程序
    • C:\ProgramData\MySQL\MySQL Server 5.1\data:DBMS数据库文件(卸载MySQL时不会删除这个目录,需要自己手动删除)
    2.2 MySQL重要文件
    • D:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe:客户端程序,用来操作服务器。但必须保证服务器已开启才能连接上!
    • D:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld.exe:服务器程序,必须先启动它,客户端才能连接上服务器。
      D:\Program Files\MySQL\MySQL Server 5.1\bin\my.ini:服务器配置文件
    2.3 C:\ProgramData\MySQL\MySQL Server 5.1\data
    • 该目录下的每个目录表示一个数据库,例如该目录下有一个mysql目录,那么说明你的DBMS中有一个名为mysql的database。
    • 在某个数据库目录下会有0~N个扩展名为frm的文件,每个frm文件表示一个table。你不要用文本编辑器打开它,它是由DBMS来读写的!
    2.4 my.ini,MySQL最为重要的配置文件
    • 配置MySQL的端口:默认为3306,没有必要去修改它;

    • 配置字符编码:

      • [client]下配置客户端编码:default-character-set=gbk

      • [mysqld]下配置服务器编码:character-set-server=utf8

      • 配置二进制数据大小上限:

        在[mysqld]下配置:max_allowed_packet=8M


    C:\ProgramData\MySQL\MySQL Server 5.5\data目录下:有一个目录就有一个数据库!!!
    每个数据库目录下,有一个frm文件,就说明有一张表!


    3.服务器操作

    3.1 开启服务器

    (必须保证mysql为windows服务):net start mysql

    查看进程表中是否存在:mysqld.exe进程(存在)

    3.2 关闭服务器

    (必须保证mysql为windows服务):net stop mysql

    查看进程表中是否存在:mysqld.exe进程(不存在)

    客户登操作
    cmd

    3.3 登录服务器:
    mysql -uroot -p123 -hlocalhost
    -u:后面跟随用户名
    -p:后面跟随密码
    -h:后面跟随IP
    
    3.4 退出服务器:
    exit或quit
    

    4.SQL

    4.1 什么是SQL:

    结构化查询语言(Structured Query Language)。

    4.2 SQL的作用:

    客户端使用SQL来操作服务器。

    启动mysql.exe,连接服务器后,就可以使用sql来操作服务器了。

    将来会使用Java程序连接服务器,然后使用sql来操作服务器。

    4.3 SQL标准(例如SQL99,即1999年制定的标准):

    由国际标准化组织(ISO)制定的,对DBMS的统一操作方式(例如相同的语句可以操作:mysql、oracle等)。

    4.4 SQL方言

    某种DBMS不只会支持SQL标准,而且还会有一些自己独有的语法,这就称之为方言!例如limit语句只在MySQL中可以使用

    4.5 SQL语法
    1. SQL语句可以在单行或多行书写,以分号结尾
    2. 可使用空格和缩进来增强语句的可读性
    3. MySQL不区别大小写,建议使用大写
    4.6 SQL语句分类(*****)
    1. DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
      创建、删除、修改:库、表结构!!!
    2. DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
      增、删、改:表记录
    3. DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
    4. DQL*****(Data Query Language):数据查询语言,用来查询记录(数据)。

    ddl:数据库或表的结构操作()
    dml:对表的记录进行更新(增、删、改)(
    )
    dcl:对用户的创建,及授权!
    dql:对表的记录的查询(*****,难点)


    5.DDL

    5.1 数据库
    • 查看所有数据库:SHOW DATABASES;

      ​ show databases;

    • 切换(选择要操作的)数据库:USE 数据库名;

      ​ use 数据库名;

    • 创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1 [CHARSET=utf8];

      ​ create database [if not exists] 库名 [charset=utf-8];

    • 删除数据库:DROP DATABASE [IF EXISTS] mydb1;

      ​ drop database [if exists] 库名;

    • 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8 ;

      ​ alter database 库名 character set utf-8;

    5.2 数据类型(列类型)
    1. int:整型(1,2,3…)

    2. double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99,-999.99;

      double(7,4);999.9999  
      
    3. decimal:浮点型,在表单钱方面使用该类型,因为不会出现精度缺失问题;

    4. char:固定长度字符串类型;

    5. char(255),数据的长度不足指定长度,补足到指定长度!

    6. char(10) ‘abcdefghkm’ 'abc '(******)

    7. varchar:可变长度字符串类型;

    8. varchar(65535), zhangSan

    9. varchar(10) ‘abc’ ‘gyugyugyu87y876786’ 34345# % #% %^ %^

    10. 汉字
      text(clob):字符串类型;

    11. 很小 小

      大 123 ‘&(&(&’ 1989-09-12

    12. blob:字节类型;
      很小



      (*****)

    13. date:日期类型,格式为:yyyy-MM-dd;2017-4-18

    14. time:时间类型,格式为:hh:mm:ss 10:07:34

    15. timestamp:时间戳类型; 123456666

    5.3 表
    • 创建表:
      (********)CREATE TABLE [IF NOT EXISTS] 表名(ITCAST_0001
      列名 列类型,
      列名 列类型,

      列名 列类型
      );

    • 查看当前数据库中所有表名称:SHOW TABLES;

    • 查看指定表的创建语句:SHOW CREATE TABLE 表名(了解);

    • 查看表结构:DESC 表名;

    • 删除表:DROP TABLE 表名;

    • 修改表:

      前缀:ALTER TABLE 表名

      修改之 添加列:
      ALTER TABLE 表名 ADD (
      列名 列类型,
      列名 列类型,

      );

      修改之 删除列:ALTER TABLE 表名 DROP 列名;

      修改之 修改列类型(如果被修改的列已存在数据,那么新的类型可能会影响到已存在数据):

      ALTER TABLE 表名 MODIFY 列名 列类型;

      修改之 修改列名:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;

      修改之 修改表名称:ALTER TABLE 原表名 RENAME TO 新表名;

      alter table 表名 rename to 新名

    var num=10;//number
    var str=“zhangsan”;//字符串

    DQL:SELECT * FROM 表名


    6.DML

    1.插入数据

    • INSERT INTO 表名(列名1,列名2, …) VALUES(列值1, 列值2, …);

      在表名后给出要插入的列名,其他没有指定的列等同与插入null值。所以插入记录总是插入一行,不可能是半行。
      在VALUES后给出列值,值的顺序和个数必须与前面指定的列对应

    • INSERT INTO 表名 VALUES(列值1, 列值2)

      没有给出要插入的列,那么表示插入所有列。
      值的个数必须是该表列的个数。
      值的顺序,必须与表创建时给出的列的顺序相同。

    2.修改数据

    • UPDATE 表名 SET 列名1=列值1, 列名2=列值2, … [WHERE 条件]

    • 条件(条件可选的):

      条件必须是一个boolean类型的值或表达式:UPDATE t_person SET gender=‘男’, age=age+1 WHERE sid=‘1’;
      运算符:=、!=、<>、>、<、>=、<=、BETWEEN…AND、IN(…)、IS NULL、NOT、OR、AND

    WHERE age >= 18 AND age <= 80
    WHERE age BETWEEN 18 AND 80

    WHERE name=‘zhangSan’ OR name=‘liSi’
    WHERE name IN (‘zhangSan’, ‘liSi’)
    WHERE age IS NULL, 不能使用等号
    WHERE age IS NOT NULL

    3.删除数据

    • DELETE FROM 表名 [WHERE 条件];(delete from 表名 where 条件;)
    • //TRUNCATE TABLE 表名:TRUNCATE是DDL语句,它是先删除drop该表,再create该表。而且无法回滚!!!

    在数据库中所有的字符串类型,必须使用单引,不能使用双引!
    日期类型也要使用单引!

    // 插入所有列
    INSERT INTO stu(
    number, name, age, gender
    )
    VALUES(
    ‘ITCAST_0001’, ‘zhangSan’, 28, ‘male’
    );

    // 插入部分列,没有指定的列默认 为NULL值
    INSERT INTO stu(
    number, name
    ) VAKLUES(
    ‘ITCAST_0002’, ‘liSi’
    )

    // 不给出插入列,那么默认为插入所有列!值的顺序要与创建表时列的顺序相同
    INSERT INTO stu VALUES(
    ‘ITCAST_0003’, ‘wangWu’, 82, ‘female’
    );


    UPDATE

    UPDATE stu SET name=‘xxx’, age=102

    insert into stu values(1146,‘sunyang’,‘man’,16,‘2017-4-16’,‘sichuang’);

    insert into stu values(1147,‘lipengfei’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1148,‘guozepeng’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1149,‘xiaozhi’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1150,‘ruofeng’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1151,‘dog’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1152,‘sunyang’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1153,‘sunyang’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1154,‘sunyang’,‘man’,16,‘2017-4-16’,‘sichuang’);
    insert into stu values(1155,‘sunyang’,‘man’,16,‘2017-4-16’,‘sichuang’);


    7. DCL(理解)

    • 一个项目创建一个用户!一个项目对应的数据库只有一个!
    • 这个用户只能对这个数据库有权限,其他数据库你就操作不了了!
    1. 创建用户
    • CREATE USER 用户名@IP地址 IDENTIFIED BY ‘密码’; identified by ’ 密码’

      用户只能在指定的IP地址上登录

    • CREATE USER 用户名@’%’ IDENTIFIED BY ‘密码’;

      用户可以在任意IP地址上登录

    1. 给用户授权 grant
    • GRANT 权限1, … , 权限n ON 数据库.* TO 用户名@IP地址

      权限、用户、数据库
      给用户分派在指定的数据库上的指定的权限
      例如;GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;

      • 给user1用户分派在mydb1数据库上的create、alter、drop、insert、update、delete、select权限
    • GRANT ALL ON 数据库.* TO 用户名@IP地址;

      给用户分派指定数据库上的所有权限

    1. 撤销授权
    • REVOKE 权限1, … , 权限n ON 数据库.* FROM 用户名@IP地址;

      撤消指定用户在指定数据库上的指定权限
      例如;REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;

      ​ revoke create,alter,drop on 库名.*from user1@’%’

      • 撤消user1用户在mydb1数据库上的create、alter、drop权限
    1. 查看权限
    • SHOW GRANTS FOR 用户名@IP地址

      查看指定用户的权限

    1. 删除用户
    • DROP USER 用户名@IP地址

    **8.***DQL – 数据查询语言

    查询不会修改数据库表记录!

    一、 基本查询

    1. 字段(列)控制
      1. 查询所有列
        SELECT * FROM 表名;
        SELECT * FROM emp;
        –> 其中“*”表示查询所有列
    1. 查询指定列
      SELECT 列1 [, 列2, … 列N] FROM 表名;
      SELECT empno, ename, sal, comm FROM 表名;

    2. 完全重复的记录只一次 SELECT DISTINCT distinct
      当查询结果中的多行记录一模一样时,只显示一行。一般查询所有列时很少会有这种情况,但只查询一列(或几列)时,这总可能就大了!
      SELECT DISTINCT * | 列1 [, 列2, … 列N] FROM 表名;
      SELECT DISTINCT sal FROM emp;
      –> 保查询员工表的工资,如果存在相同的工资只显示一次!

    3. 列运算
      I 数量类型的列可以做加、减、乘、除运算
      SELECT sal*1.5 FROM emp;
      SELECT sal+comm FROM emp;

    II 字符串类型可以做连续运算 5 S E L E C T C O N C A T ( ′ 5 SELECT CONCAT(&#x27; 5SELECTCONCAT(', sal) FROM emp;

    III 转换NULL值 IFNULL(comm, 0)
    有时需要把NULL转换成其它值,例如com+1000时,如果com列存在NULL值,那么NULL+1000还是NULL,而我们这时希望把NULL当前0来运算。
    SELECT IFNULL(comm, 0)+1000 FROM emp;
    –> IFNULL(comm, 0):如果comm中存在NULL值,那么当成0来运算。

    IV 给列起别名
    你也许已经注意到了,当使用列运算后,查询出的结果集中的列名称很不好看,这时我们需要给列名起个别名,这样在结果集中列名就显示别名了
    SELECT IFNULL(comm, 0)+1000 AS 奖金 FROM emp;
    –> 其中AS可以省略

    1. 条件控制

      1. 条件查询

      与前面介绍的UPDATE和DELETE语句一样,SELECT语句也可以使用WHERE子句来控制记录。

    • SELECT empno,ename,sal,comm FROM emp WHERE sal > 10000 AND comm IS NOT NULL;

    • SELECT empno,ename,sal FROM emp WHERE sal BETWEEN 20000 AND 30000;

    • SELECT empno,ename,job FROM emp WHERE job IN (‘经理’, ‘董事长’);
      2) 模糊查询

      当你想查询姓张,并且姓名一共两个字的员工时,这时就可以使用模糊查询

    • SELECT * FROM emp WHERE ename LIKE ‘张_’;
      –> 模糊查询需要使用运算符:LIKE,其中_匹配一个任意字符,注意,只匹配一个字符而不是多个。
      –> 上面语句查询的是姓张,名字由两个字组成的员工。

    • SELECT * FROM emp WHERE ename LIKE ‘___’; /姓名由3个字组成的员工/

    % 任意个字符(0~N个任意字符)
    _ 任意一个字符

    如果我们想查询姓张,名字几个字可以的员工时就要使用“%”了。
    SELECT * FROM emp WHERE ename LIKE ‘张%’;
    –> 其中%匹配0~N个任意字符,所以上面语句查询的是姓张的所有员工。
    SELECT * FROM emp WHERE ename LIKE ‘%阿%’;
    –> 千万不要认为上面语句是在查询姓名中间带有阿字的员工,因为%匹配0~N个字符,所以姓名以阿开头和结尾的员工也都会查询到。
    SELECT * FROM emp WHERE ename LIKE ‘%’;
    –> 这个条件等同与不存在,但如果姓名为NULL的查询不出来!

    二、排序 ORDER BY

    1. 升序
      SELECT * FROM WHERE emp ORDER BY sal ASC;
      –> 按sal排序,升序!
      –> 其中ASC是可以省略的
    2. 降序
      SELECT * FROM WHERE emp ORDER BY comm DESC;
      –> 按comm排序,降序!
      –> 其中DESC不能省略
    3. 使用多列作为排序条件
      SELECT * FROM WHERE emp ORDER BY sal ASC, comm DESC;
      –> 使用sal升序排,如果sal相同时,使用comm的降序排

    三、聚合函数

    聚合函数用来做某列的纵向运算。

    1. COUNT
      SELECT COUNT(*) FROM emp;
      –> 计算emp表中所有列都不为NULL的记录的行数
      SELECT COUNT(comm) FROM emp;
      –> 云计算emp表中comm列不为NULL的记录的行数
    2. MAX
      SELECT MAX(sal) FROM emp;
      –> 查询最高工资
    3. MIN
      SELECT MIN(sal) FROM emp;
      –> 查询最低工资
    4. SUM
      SELECT SUM(sal) FROM emp;
      –> 查询工资合
    5. AVG
      SELECT AVG(sal) FROM emp;
      –> 查询平均工资

    四、分组查询 GROUP BY

    分组查询是把记录使用某一列进行分组,然后查询组信息。
    例如:查看所有部门的记录数。
    SELECT deptno, COUNT(*) FROM emp GROUP BY deptno;
    –> 使用deptno分组,查询部门编号和每个部门的记录数
    SELECT job, MAX(SAL) FROM emp GROUP BY job;
    –> 使用job分组,查询每种工作的最高工资

    组条件
    以部门分组,查询每组记录数。条件为记录数大于3
    SELECT deptno, COUNT() FROM emp GROUP BY deptno HAVING COUNT() > 3;

    五、limit子句(方言)

    LIMIT用来限定查询结果的起始行,以及总行数。
    例如:查询起始行为第5行,一共查询3行记录
    SELECT * FROM emp LIMIT 4, 3;
    –> 其中4表示从第5行开始,其中3表示一共查询3行。即第5、6、7行记录。

    select * from emp limit 0, 5;

    1. 一页的记录数:10行
    2. 查询第3页
    

    select * from emp limit 20, 10;

    (当前页-1) * 每页记录数
    (3-1) * 10

    (17-1) * 8, 8

    ==============================

    顺序

    select
    from
    where
    group by
    having 要求
    order by
    limit

    练习:

    1. 查询每个部门的雇员数量。
      ​ select deptno,count(*) from emp group by deptno;

    2. 查询每种工作的最高工资、最低工资、人数

      select job,max(sal),min(sal),count(*) from emp group by job;

    –16. 显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,并且要满足从事同一工作的雇员的月工资合计大于50000,输出结果按月工资的合计升序排列

    select job,sum(sal) from emp where comm is null group by job having sum(sal)>50000 order by sum(sal);

    –7. 有奖金的工种。
    select distinct job from emp where comm>=0;

    网上查询结果

    /1. 查询出部门编号为30的所有员工/
    SELECT *
    FROM emp
    WHERE deptno=30;

    /2. 查询所有销售员的姓名、编号和部门编号。/
    SELECT ename, empno, deptno
    FROM emp
    WHERE job=‘销售员’;

    /3. 找出奖金高于工资的员工。/
    SELECT *
    FROM emp
    WHERE comm > sal

    /4. 找出奖金高于工资60%的员工。/
    SELECT *
    FROM emp
    WHERE comm > sal*0.6;

    /5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。/
    SELECT *
    FROM emp
    WHERE (deptno=10 AND job=‘经理’) OR (deptno=20 AND job=‘销售员’)

    /6. 找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。/
    SELECT *
    FROM emp
    WHERE (deptno=10 AND job=‘经理’) OR (deptno=20 AND job=‘销售员’) OR (job NOT IN (‘经理’, ‘销售员’) AND sal >= 20000)

    /7. 无奖金或奖金低于1000的员工。/
    SELECT *
    FROM emp
    WHERE comm IS NULL OR comm < 1000

    /8. 查询名字由三个字组成的员工。/
    SELECT *
    FROM emp
    WHERE ename LIKE ‘___’

    /9.查询2000年入职的员工。/
    SELECT *
    FROM emp
    WHERE hiredate LIKE ‘2000-%’

    /10. 查询所有员工详细信息,用编号升序排序/
    SELECT *
    FROM emp
    ORDER BY empno

    /11. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序/
    SELECT *
    FROM emp
    ORDER BY sal DESC, hiredate ASC


    9.约束

    • 约束是添加在列上的,用来约束列的!
    1. 主键约束(唯一标识)

      *非空
      *唯一
      被引用(学习外键时)

    • 当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现。

    • 创建表时指定主键的两种方式:

      CREATE TABLE stu(
      sid CHAR(6) PRIMARY KEY,
      sname VARCHAR(20),
      age INT,
      gender VARCHAR(10)
      );
      指定sid列为主键列,即为sid列添加主键约束

      CREATE TABLE stu(
      sid CHAR(6),
      sname VARCHAR(20),
      age INT,
      gender VARCHAR(10),
      PRIMARY KEY(sid)
      );
      指定sid列为主键列,即为sid列添加主键约束

    • 修改表时指定主键:ALTER TABLE stu ADD PRIMARY KEY(sid);

    • 删除主键:ALTER TABLE stu DROP PRIMARY KEY;

    1. 主键自增长
    • 因为主键列的特性是:必须唯一、不能为空,所以我们通常会指定主键类为整型,然后设置其自动增长,这样可以保证在插入数据时主键列的唯一和非空特性。

    • 创建表时指定主键自增长
      CREATE TABLE stu(
      ​ sid INT PRIMARY KEY AUTO_INCREMENT,
      ​ sname VARCHAR(20),
      ​ age INT,
      ​ gender VARCHAR(10)
      );

    • 修改表时设置主键自增长:ALTER TABLE stu CHANGE sid sid INT AUTO_INCREMENT;

    • 修改表时删除主键自增长:ALTER TABLE stu CHANGE sid sid INT;

    • 测试主键自增长:

      INSERT INTO stu VALUES(NULL, ‘zhangSan’,23,‘male’);
      INSERT INTO stu(sname,age,gender) VALUES(‘zhangSan’,23,‘male’);

    1. 非空约束
    • 因为某些列不能设置为NULL值,所以可以对列添加非空约束。
    • 例如:
      CREATE TABLE stu(
      ​ sid INT PRIMARY KEY AUTO_INCREMENT,
      ​ sname VARCHAR(20) NOT NULL,
      ​ age INT,
      ​ gender VARCHAR(10)
      );
    • 对sname列设置了非空约束
    1. 唯一约束
    • 车库某些列不能设置重复的值,所以可以对列添加唯一约束。
    • 例如:
      CREATE TABLE stu(
      ​ sid INT PRIMARY KEY AUTO_INCREMENT,
      ​ sname VARCHAR(20) NOT NULL UNIQUE,
      ​ age INT,
      ​ gender VARCHAR(10)
      );
    • 对sname列设置了非空唯一约束
    1. 概念模型

    对象模型:可以双向关联,而且引用的是对象,而不是一个主键!
    关系模型:只能多方引用一方,而且引用的只是主键,而不是一整行记录。

    对象模型:在java中是domain!!!例如:User、Student
    is a
    has a(关联)

    1对1

    1对多

    多对多

    use a

    关系模型:在数据库中表!!!

    当我们要完成一个软件系统时,需要把系统中的实体抽取出来,形成概念模型。
    例如部门、员工都是系统中的实体。概念模型中的实体最终会成为Java中的类、数据库中表。
    实体之间还存在着关系,关系有三种:

    • 1对多:例如每个员工都从属一个部门,而一个部门可以有多个员工,其中员工是多方,而部门是一方。

    • 1对1:例如老公和老婆就是一对一的关系,一个老公只能有一个老婆,而一个老婆只能有一个老公。

    • 多对多:老师与学生的关系就是多对多,一个老师可以有多个学生,一个学生可以有多个老师。

      概念模型在Java中成为实体类(javaBean)
      类就使用成员变量来完成关系,一般都是双向关联!
      多对一双向中关联,即员工关联部门,部门也关联员工
      class Employee {//多方关联一方
      ​ …
      ​ private Department department;
      }
      class Department {//一方关联多方
      ​ …
      ​ private List employees;
      }

      class Husband {
      ​ …
      ​ private Wife wife;
      }
      class Wife {
      ​ …
      ​ private Husband
      }

      class Student {
      ​ …
      ​ private List teachers
      }
      class Teacher {
      ​ …
      ​ private List students;
      }

    1. 外键约束
    • 外键必须是另一表的主键的值(外键要引用主键!)

    • 外键可以重复

    • 外键可以为空

    • 一张表中可以有多个外键!

      概念模型在数据库中成为表
      数据库表中的多对一关系,只需要在多方使用一个独立的列来引用1方的主键即可
      /员工表/
      create talbe emp (
      ​ empno int primary key,/员工编号/
      ​ …
      ​ deptno int/所属部门的编号/
      );
      /部门表/
      create table dept (
      ​ deptno int primary key,/部门编号/
      ​ …
      );
      emp表中的deptno列的值表示当前员工所从属的部门编号。也就是说emp.deptno必须在dept表中是真实存在!
      但是我们必须要去对它进行约束,不然可能会出现员工所属的部门编号是不存在的。这种约束就是外键约束。
      我们需要给emp.deptno添加外键约束,约束它的值必须在dept.deptno中存在。外键必须是另一个表的主键!

      语法:CONSTRAINT 约束名称 FOREIGN KEY(外键列名) REFERENCES 关联表(关联表的主键)
      创建表时指定外键约束
      create talbe emp (
      ​ empno int primary key auto_increment,
      ​ …
      ​ deptno int,
      CONSTRAINT fk_emp FOREIGN KEY(deptno) REFERENCES dept(deptno)

    constraint

    foreign

    references

    CONSTRAINT

    );

    修改表时添加外键约束
    ALERT TABLE emp
    ADD CONSTRAINT fk_emp_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno);

    修改表时删除外键约束
    ALTER TABLE emp
    DROP FOREIGN KEY fk_emp_deptno;/约束名称/

    1. 数据库一对一关系
      在表中建立一对一关系比较特殊,需要让其中一张表的主键,即是主键又是外键。
      create table husband(
    hid int PRIMARY KEY,
    ...
    

    );
    create table wife(
    ​ wid int PRIMARY KEY,
    ​ …
    ​ ADD CONSTRAINT fk_wife_wid FOREIGN KEY(wid) REFERENCES husband(hid)
    );
    其中wife表的wid即是主键,又是相对husband表的外键!
    husband.hid是主键,不能重复!
    wife.wid是主键,不能重复,又是外键,必须来自husband.hid。
    所以如果在wife表中有一条记录的wid为1,那么wife表中的其他记录的wid就不能再是1了,因为它是主键。
    同时在husband.hid中必须存在1这个值,因为wid是外键。这就完成了一对一关系。

    *****从表的主键即是外键!

    1. 数据库多对多关系
      在表中建立多对多关系需要使用中间表,即需要三张表,在中间表中使用两个外键,分别引用其他两个表的主键。
      create table student(
    sid int PRIMARY KEY,
    ...
    

    );
    create table teacher(
    ​ tid int PRIMARY KEY,
    ​ …
    );

    create table stu_tea(
    ​ sid int,
    ​ tid int,
    ​ ADD CONSTRAINT fk_stu_tea_sid FOREIGN KEY(sid) REFERENCES student(sid),
    ​ ADD CONSTRAINT fk_stu_tea_tid FOREIGN KEY(tid) REFERENCES teacher(tid)
    );
    这时在stu_tea这个中间表中的每条记录都是来说明student和teacher表的关系
    例如在stu_tea表中的记录:sid为1001,tid为2001,这说明编号为1001的学生有一个编号为2001的老师
    sid tid
    101 201 /编号为101的学生有一个编号为201的老师/
    101 202 /编号为101的学生有一个编号为202的老师/
    101 203 /编号为101的学生有一个编号为203的老师/
    102 201 /编号为102的学生有一个编号为201的老师/
    102 204 /编号为102的学生有一个编号为204的老师/

    10.编码

    1. 查看MySQL数据库编码
    • SHOW VARIABLES LIKE ‘char%’;

      show variables like ‘char%’

    1. 编码解释
    • character_set_client:MySQL使用该编码来解读客户端发送过来的数据,例如该编码为UTF8,那么如果客户端发送过来的数据不是UTF8,那么就会出现乱码
    • character_set_results:MySQL会把数据转换成该编码后,再发送给客户端,例如该编码为UTF8,那么如果客户端不使用UTF8来解读,那么就会出现乱码
      其它编码只要支持中文即可,也就是说不能使用latin1
    1. 控制台乱码问题
    • 插入或修改时出现乱码:

      这时因为cmd下默认使用GBK,而character_set_client不是GBK的原因。我们只需让这两个编码相同即可。
      因为修改cmd的编码不方便,所以我们去设置character_set_client为GBK即可。

    • 查询出的数据为乱码:

      这是因为character_set_results不是GBK,而cmd默认使用GBK的原因。我们只需让这两个编码相同即可。
      因为修改cmd的编码不方便,所以我们去设置character_set_results为GBK即可。

    • 设置变量的语句:

      set character_set_client=gbk;
      set character_set_results=gbk;

      注意,设置变量只对当前连接有效,当退出窗口后,再次登录mysql,还需要再次设置变量。
      为了一劳永逸,可以在my.ini中设置:
      设置default-character-set=gbk即可。

    1. 指定默认编码
      我们在安装MySQL时已经指定了默认编码为UTF8,所以我们在创建数据库、创建表时,都无需再次指定编码。
      为了一劳永逸,可以在my.ini中设置:
      设置character-set-server=utf8即可。

    character_set_client | utf8 --> mysql把我们客户端传递的数据都当成是utf8!一是给它传递utf8,二是如果我们传递的是gbk,那么需要修改这个变量为gbk
    character_set_connection | utf8
    character_set_database | utf8
    character_set_results | utf8 --> mysql发送给客户端的数据都是utf8的。一是客户端用utf8编码,二是如果客户端使用gbk来编码,那么需要修改这个变量为gbk的。
    character_set_server | utf8
    character_set_system | utf8


    character_set_client=utf8,无论客户端发送的是什么编码的数据,mysql都当成是utf8的数据!

    若客户端发送的是GBK

    服务器会当成utf8对待
    总结:必然乱码!

    处理问题的手段有两种;

    让客户端发送utf8的数据(行不通)

    把character_set_client修改为gbk
    set character_set_client=gbk; --> 只在当前窗口内有效,也就是说,关闭窗口后,再打开,又回到utf8了。

    character_set_results=utf8,把数据用什么编码发送给客户端!

    若服务器发送给客户端的是utf8的数据

    客户端会把它当成gbk,因为我们的小黑屏,只能显示gbk
    总结:必然乱码!

    处理问题的手段有两种:

    让服务器发送gbk的数据:set character_set_results=gbk

    让小黑屏使用utf8来解读(行不通)

    my.ini
    在总配置文件中进行配置,可以一劳永逸

    [client]

    port=3306

    [mysql]

    default-character-set=gbk /它可以一劳永逸!它可以修改三个变量:client、results、connection/


    11.备份与恢复

    数据库 --> sql语句
    sql语句 --> 数据库

    1. 数据库导出SQL脚本(备份数据库内容,并不是备份数据库!)

    mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径

    例如:mysqldump -uroot -p123 mydb1>C:\mydb1.sql (与mysql.exe和mysqld.exe一样, 都在bin目录下)
    注意,不要打分号,不要登录mysql,直接在cmd下运行
    注意,生成的脚本文件中不包含create database语句

    1. 执行SQL脚本
      第一种方式

    mysql -u用户名 -p密码 数据库<脚本文件路径

    例如:

    • 先删除mydb1库,再重新创建mydb1库
    • mysql -uroot -p123 mydb1<C:\mydb1.sql
      注意,不要打分号,不要登录mysql,直接在cmd下运行

    第二种方式

    登录mysql

    source SQL脚本路径
    例如:

    • 先删除mydb1库,再重新创建mydb1库
    • 切换到mydb1库
    • source c:\mydb1.sql

    数据库 --> sql:备份
    sql --> 数据库:恢复


    mysqldump -uroot -p123 mydb3>c:/a.sql --> 备份
    mysql -uroot -p123 mydb3<c:/a.sql --> 恢复
    source c:/a.sql --> 恢复


    12.多表查询

    select *
    from emp, dept, (select * from emp)
    where
    group by
    having
    order by
    limit

    1. 分类:
    
    * 合并结果集(了解)
    * 连接查询
    * 子查询
    

    合并结果集

    • 要求被合并的表中,列的类型和列数相同
    • UNION,去除重复行
    • UNION ALL,不去除重复行

    SELECT * FROM cd
    UNION ALL
    SELECT * FROM ab;

    连接查询
    ​ 1. 分类

    * 内连接
    * 外连接
      > 左外连接
      > 右外连接
      > 全外连接(MySQL不支持)
    * 自然连接(属于一种简化方式)
    
    2. 内连接
    
    * 方言:SELECT * FROM 表1 别名1, 表2 别名2 WHERE 别名1.xx=别名2.xx
    * 标准:SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 ON 别名1.xx=别名2.xx
    * 自然:SELECT * FROM 表1 别名1 NATURAL JOIN 表2 别名2
    * 内连接查询出的所有记录都满足条件。
    
    3. 外连接   left/right  outer jion   ....on...
                natural left/right  outer jion 
    * 左外:SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx
      > 左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来。左表中不满足条件的记录,右表部分都为NULL
    * 左外自然:SELECT * FROM 表1 别名1 NATURAL LEFT OUTER JOIN 表2 别名2 
    * 右外:SELECT * FROM 表1 别名1 RIGHT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx
      > 右表记录无论是否满足条件都会查询出来,而左表只有满足条件才能出来。右表不满足条件的记录,其左表部分都为NULL
    * 右外自然:SELECT * FROM 表1 别名1 NATURAL RIGHT OUTER JOIN 表2 别名2
    * 全链接:可以使用UNION来完成全链接
    

    子查询
      :查询中有查询(查看select关键字的个数!)
    ​ 1. 出现的位置:

    * where后作为条件存在
    * from后作为表存在(多行多列)
    
    2. 条件
    
    * (***)单行单列:SELECT * FROM1 别名1 WHERE1 [=><>=<=!=] (SELECTFROM2 别名2 WHERE 条件)
    * (**)多行单列:SELECT * FROM1 别名1 WHERE1 [IN, ALL, ANY] (SELECTFROM2 别名2 WHERE 条件)
    * (*)单行多列:SELECT * FROM1 别名1 WHERE (1,2) IN (SELECT1,2 FROM2 别名2 WHERE 条件)
    * (***)多行多列:SELECT * FROM1 别名1 , (SELECT ....) 别名2 WHERE 条件
    

    ====================================================

    笛卡尔积
    {a, b, c} {1,2}
    {a1, a2, b1, b2, c1, c2}

    ====================================================
    看完记得帮忙点个赞哦!

    展开全文
  • 数据库管理系统MySQL(一)

    千次阅读 2019-10-09 15:00:37
    数据库MySQL入门视频,MySQL是数据库管理系统,且MySQL代码开源。 保存数据的容器:数组、集合和文件等。其中数组和集合都是将数据存储在内存中,具有易失性(断电丢失),但是程序中的很多数据是希望被永久地存储...

    https://www.bilibili.com/video/av49181542?from=search&seid=3794893613153659534

    数据库MySQL入门视频,MySQL是数据库管理系统,且MySQL代码开源。

    保存数据的容器:数组、集合和文件等。其中数组和集合都是将数据存储在内存中,具有易失性(断电丢失),但是程序中的很多数据是希望被永久地存储下来,这些数据不应被存放到内存中,而应被存放在文件中从而进行永久地存储。

    1.数据库管理系统就是数据库软件,数据库的特点在于:

    (1)能够和文件一样实现对于数据的持久化保存

    (2)使用完整的管理系统统一管理数据库中的数据,易于查询。

    2.数据库的相关概念:

    (1)DB:数据库database,存储数据的仓库,它保存了一系列有组织的数据。其中的数据都是按照一定的组织顺序存放的。

    DB可以理解为保存一组有组织的数据的容器。

    (2)DBMS:数据库管理系统database management system,又称为数据库软件,数据库是通过数据库管理系统创建和操作的容器。MySQL就是一种数据库管理系统。

    (3)SQL:结构化查询语言(structure query language):专门用来与数据库通信的语言(实际上SQL语言是通过向数据库管理系统下达指令,由数据库管理系统/软件对数据库执行相应的操作)

    数据库管理系统是一个软件,用户通过向数据库管理系统输入SQL指令对数据库进行相应的操作。

    3.SQL的优点:

    (1)SQL语言不是某个特定数据库管理系统的供应商专有的语言,几乎所有的DBMS都支持SQL(即SQL语言在多种数据库管理系统:如MySQL、Oracle、DB2之间通用)

    (2)简单易学

    (3)SQL虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

    SQL、DBMS和DB之间的关系为:用户通过向DBMS发送语言为SQL的指令,DBMS解析相应指令并管理数据库DB。

    4.数据库DB是如何存储数据的?

    (1)将数据放到表中,再将表放到库中。在一个数据库中首先将被划分成多个存储区,每个存储区可以存放多张表。

    (2)一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性。

    (3)表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中类的设计。

    (4)每个表格由列组成,表格中的列也被称为字段,所有的表格都是由一个列或者多个列组成的,每一列类似Java中的属性。

    (5)表中的数据是按行存储的,每一行就是一个完整的数据,每一行类似Java中的对象

    5.MySQL数据库的安装

    MySQL数据库管理系统的优点:

    (1)成本低:开放源代码,一般可以免费试用

    (2)性能高:执行很快

    (3)简单:容易安装和使用

    数据库管理系统DBMS分为两类:基于共享文件系统的DBS(Access)和基于客户端——服务器的DBMS(MySQL、Oracle、SqlServer)。MySQL的安装则必须要同时安装客户端和服务器,其中数据和表格都存储在服务器端。

    MySQL的下载与安装见https://www.bilibili.com/video/av49181542/?p=9

    手动启动和停止MySQL服务的方式

    用管理员身份打开命令提示符

    net start mysql 则启动MySQL服务

    net stop mysql 则停止MySQL服务

    exit退出。

    6.MySQL服务的登录与退出

    登录 通过windows自带的客户端,输入的登录命令为 mysql -h 主机名 -P 端口号 -u 用户名 -p 密码

    退出:exit或者ctrl+c   退出数据库管理系统的客户端

    7.MySQL常见的命令

    (1)show databases;

    (2)use test;

    表示进入了test数据库

    向数据库中的表格中插入数据是直接将数据存储到了文件中,掉电不丢失,下一次进入该数据库之后,仍然能够查询到该数据。

    MySQL常见命令总结如下:

    ①查看当前数据库管理系统下的所有数据库    show databases;

    ②打开指定的数据库   use 数据库名称;

    ③查看数据库中所有的表格   show tables;

    ④在当前数据库情况下,查看其他数据库中所有的表格  show tables from 数据库名称;

    ⑤在当前的数据库中创建新表格: create table 表名 (列名1 列类型1,列名2 列类型2,……);

    ⑥查看表结构  desc 表名

    ⑦查看数据库管理系统服务器的版本   

    方式一  登录到mysql服务端   select version();

    方式二  没有登陆到mysql服务端  mysql --version()    或   mysql --V

    https://www.bilibili.com/video/av49181542/?p=14   已结束。

     

     

     

     

    展开全文
  • 数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    1.试述数据、数据库、数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统...
  • 本文主要面向openGauss数据库初学者,帮助初学者完成一些简单的数据库管理以及GUI,设计一个简单的人力资源管理系统。本文只包含部分代码,读者需要结合自己的数据库弹性公网、数据库用户及其密码等自身信息做出...
  • 数据库简介、及常用数据库介绍

    万次阅读 多人点赞 2018-09-17 22:10:14
    数据库管理系统(DBMS: 用来对数据进行存储、管理等操作的软件 二、数据库分类 数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。而在当今的...
  • 数据库管理系统(DBMS)的概述  &gt; 方便查询  &gt; 可存储的数据量大  &gt; 保证数据的完整、一致  &gt; 安全可靠 2. DBMS的发展:今天主流数据库为关系型数据库管理系统(RDBMS 使用表格存储...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织、可共享。 (数据的最小存取单位是数据项) ②数据库系统的特点 数据结构化 数据的...
  • Jsp制作企业后台数据库管理系统

    千次阅读 2018-07-05 23:01:08
    一、在任何管理网站都需要的一个是登录系统登录界面,所以先制作一个登录界面。㈠、命名login.jsp 下面是我制作此表单页面的代码 表单name/id为Login登录名username,为了美观我在前面加了图片01.gif密码框...
  • MySQL数据库综合运用——快递管理系统

    千次阅读 多人点赞 2020-06-25 10:18:20
    MySQL综合运用(快递管理系统)Chapter1 概述1.1 背景1.2 系统开发的可行性判断1.3 目标1.4 软件1.5 开发环境Chapter2 需求分析2.1 信息要求2.2 处理要求2.3 安全性与完整性要求Chapter3 概念结构设计3.1 局部E-R图...
  • mySQL (关系型数据库管理系统

    千次阅读 2017-03-13 08:32:00
    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System...
  • 数据库课程设计报告(毕业生管理系统

    千次阅读 多人点赞 2020-07-07 23:02:21
    声明:本片课程设计只列举了数据库设计部分,系统实现部分省略了。如果单纯只做数据库课程设计还是有一定的参考价值的。 由于版权原因,这次源码不能提供给大家了。 报告比较简单,本博主写的比较快,所以难免会...
  • 数据库管理系统原理与设计 实验一 数据库定义与操作语言 实验1.1 数据库定义 实验目的 理解和掌握数据库DDL语言,能够熟练使用SQL DDL 语句创建、修改和删除数据库、模式和基本表。 实验内容和要求 理解...
  • 数据库系统概论第五版 课后习题答案王珊

    万次阅读 多人点赞 2020-01-11 14:15:14
    试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机...
  • 常见数据库知识总结 + 30个数据库常见面试题讲解

    万次阅读 多人点赞 2018-10-24 21:55:36
    常见数据库知识总结 MYAQL:事务:事务是并发控制的基本单元,事务是一个操作序列,要么都执行,要么都不执行,他是一个不可分割的工作单位,事务是维护数据库一致性的单位。 四个ACID基本性质: 1.原子性:要么...
  • mySQL(关系型数据库管理系统)编辑

    万次阅读 2014-11-05 18:35:24
    收藏 2906 1034 ...mySQL(关系型数据库管理系统)编辑 ...MySQL[1] 是一个关系型数据库管理系统,由瑞典MySQL ...MySQL是最流行的关系型数据库管理系统,在... Database Management System:关系数据库管理系统)应用
  • SQL Server数据库系统数据库简介

    千次阅读 2019-02-18 09:32:13
    数据库系统(DataBase System,缩写为DBS)是采用数据库技术的计算机系统,是由数据库(DB)、数据库管理系统(DBMS)、数据库管理员(DBA)、硬件平台(硬件)和软件平台(软件)5部分构成的运行实体。 数据库管理...
  • 这几天逼着交Java,借鉴各位师傅的做出来这么个简陋的东西,各位大师傅不要笑我。(学都没有学过Java的我,QAQ~) 下面针对的都是SQL Server系列的...常见问题: 端口拦截 连接数据库时,端口被防火墙拦截,检...
  • 数据库系统概论》知识整理

    万次阅读 多人点赞 2019-01-06 18:41:21
    第一节 一、相关概念 1. Data:数据,是数据库中存储的基本对象,是... DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学地组织、存储和管理数据、高效地获取和维护数据。 4. DBS...
  • 常见的几种数据库

    2019-09-15 21:31:35
    常见的关系数据库是mysql,SQL Server,...关系数据库是目前最流行的数据库管理系统,而且该技术相对成熟。 1,MySQL MySQL是目前最流行的开源SQL数据库管理系统。与其他大型数据库(如Oracle,DB2,SQL Server等...
  • MyBatis面试题(2020最新版)

    万次阅读 多人点赞 2019-09-24 16:40:33
    1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。 解决:在mybatis-config.xml中配置数据链接池,使用连接池管理数据库连接。 2、Sql语句写在代码中造成代码不易...
  • 文章目录二、数据库设计与前端框架1、多租户SaaS平台的数据库方案<1>、多租户概述<2>、需求分析<3>、多租户的数据库方案分析(1)、独立数据库(2)、共享数据库、独立Schema(3)、共享数据库、共享...
  • 常见的主流数据库(DBMS)

    万次阅读 多人点赞 2019-04-14 12:27:18
    文章目录关系型数据库1. MySQL数据库2. Microsoft SQL Server数据库3. Oracle数据库4. Postgresql数据库5. Sybase数据库6. DB2数据库7. Access数据库非关系型数据库1. Mongodb数据库2. Redis数据库3. Hbase数据库4. ...
  • 支持关系数据模型的数据库管理系统称为关系型数据库管理系统。  特征:  1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系—一张二维表,在关系模型中,操作的对象和结果都是一张二...
  • 数据库设计——订餐系统

    千次阅读 2021-03-22 11:22:00
    大致需求 午餐骑士的工作原理 程序→本地供应商列表 供应商→ 饭菜 顾客订单、地址送至服务器 顾客可以选择喜欢一道菜,该菜会显示被喜欢的数量...供应商:店家编号、名称、店家地址、电子邮件地址、饭菜名称、饭菜价格
  • 文件系统数据库系统比较

    千次阅读 2017-12-29 19:05:00
    1)数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作...
  • 数据库系统设计

    千次阅读 2020-03-02 05:43:22
    1. 数据库理论 1.1 基础概念 数据依赖 函数依赖 多值依赖 连接依赖 关系模式 关系模式的形式化定义:R(U, D, DOM, F) 参数 描述 R 关系名 U 该关系的属性集合 D 属性组U中属性所来自的域 DOM 属性向...
  • 数据库系统概念

    万次阅读 多人点赞 2019-03-12 16:50:55
    1.1 文件管理系统坏处 1.2 数据视图 1.3 数据模型 1.4 数据库语言 第二章、关系模型介绍 2.1 关系数据库的结构 2.2 数据库模式 2.3 码 第三章、SQL 3.1 SQL 查询语言概览 3.2 SQL数据定义 3.2.1基本类型 ...
  • 网上教学管理系统的设计与实现

    万次阅读 多人点赞 2019-04-14 18:54:54
    网上教学管理系统的设计与实现 第1章 绪 论 1.1 背景 为了促进计算机专业学生工程实践能力的提升,使老师能够更好的管理学生,帮助学生提高学习成绩掌握更多的专业知识,增强师生之间的交流;解决老师...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,584
精华内容 53,833
关键字:

常见数据库管理系统名称