数据库介绍

一、SQL

1.解释

用于访问和处理数据库的标准的计算机语言。数据库包括:MySQL、SQL Server、Access、Oracle、Sybase、DB2 等等。

2.功能

命令
功能
示例

SELECT

WHERE

面向数据库执行查询

SELECT * FROM Websites

WHERE country='CN';


从数据库取回数据
INSERT INTO在数据库中插入新的记录INSERT INTO table_name
VALUES (value1,value2,value3,...);
UPDATE更新数据库中的数据UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
DELETE从数据库删除记录DELETE FROM table_name
WHERE some_column=some_value;
CREATE DATABASE创建新数据库CREATE DATABASE dbname;
CREATE TABLE在数据库中创建新表CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);

在数据库中创建存储过程
CREATE VIEW在数据库中创建视图CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

设置表、存储过程和视图的权限

二、SQLite

1.解释

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

2.特点

不需要一个单独的服务器进程或操作的系统(无服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
SQLite 是非常小的,是轻量级的,完全配置时小于 400KB,省略可选功能配置时小于250KB。
SQLite 是自给自足的,这意味着不需要任何外部的依赖。
SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

3.局限性

特性描述
RIGHT OUTER JOIN只实现了 LEFT OUTER JOIN。
FULL OUTER JOIN只实现了 LEFT OUTER JOIN。
ALTER TABLE

支持 RENAME TABLE 和 ALTER TABLE 的 ADD COLUMN variants 命令,

不支持 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。

Trigger 支持支持 FOR EACH ROW 触发器,但不支持 FOR EACH STATEMENT 触发器。
VIEWs在 SQLite 中,视图是只读的。您不可以在视图上执行 DELETE、INSERT 或 UPDATE 语句。
GRANT 和 REVOKE可以应用的唯一的访问权限是底层操作系统的正常文件访问权限。


4.命令

命令描述
SELECT从一个或多个表中检索某些记录。
CREATE创建一个新的表,一个表的视图,或者数据库中的其他对象。
ALTER修改数据库中的某个已有的数据库对象,比如一个表。
DROP删除整个表,或者表的视图,或者数据库中的其他对象。
INSERT创建一条记录。
UPDATE修改记录。
DELETE删除记录。

 5.存储类

存储类描述
NULL值是一个 NULL 值。
INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB值是一个 blob 数据,完全根据它的输入存储。

6.命令示例

(1)创建表CREATE TABLE

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
  );
   
示例:
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME        TEXT    NOT NULL,
   AGE        INT     NOT NULL,
   ADDRESS      CHAR(50),
   SALARY       REAL
  );
它创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL。

(2)删除表DROP TABLE

DROP TABLE database_name.table_name;
示例:
DROP TABLE COMPANY;

(3)表中添加行INSERT INTO

指定列添加:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);
示例:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );

所有列添加:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
示例:
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );

(4)获取数据SELECT

获取指定字段:
SELECT column1, column2, columnN FROM table_name;
获取所有字段:
SELECT * FROM table_name;

因为所有的点命令只在 SQLite 提示符中可用,所以当您进行带有 SQLite 的编程时,
您要使用下面的带有 sqlite_master 表的 SELECT 语句来列出所有在数据库中创建的表:
SELECT tbl_name FROM sqlite_master WHERE type = 'table';
示例:
SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

(5)WHERE/AND/OR

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]
示例:
SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;

(6)UPDATE

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
示例:
UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;

(7)DELETE

DELETE FROM table_name
WHERE [condition];
示例:
DELETE FROM COMPANY WHERE ID = 7;

三、MySQL

1.解释

MySQL 是最流行的关系型数据库管理系统。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2.特点

MySQL 是开源的。
MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL 使用标准的 SQL 数据语言形式。
MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

3.安装

(1)在windows上安装MySQL

下载地址:https://downloads.mysql.com/archives/community/

图片.png

    选择离线安装:需要安装.NET 4.5.2

    解压到C:\hh_wksp

    图片.png

    C:\hh_wksp\mysql-5.7.19-winx64\mysql-5.7.19-winx64目录下配置MySQL 的配置文件my.ini:

图片.png

以管理员身份打开 cmd 命令行工具,切换目录:

图片.png

初始化数据库:

图片.png

问题1:需要安装2013版本的vcredist_x64.exe

图片.png

问题2:my.ini另存为ANSI格式

图片.png

图片.png

执行完成后,会输出 root 用户的初始默认密码,如:!b1?Hk%>F-lr

图片.png

安装成功:

图片.png

启动MySQL:

图片.png

登录MySQL:

图片.png

修改登录密码:root

图片.png

环境变量设置:

      右键单击我的电脑->属性->高级系统设置(高级)->环境变量
      点击系统变量下的新建按钮
      输入变量名:MYSQL_HOME
      输入变量值:C:\hh_wksp\mysql-5.7.19-winx64\mysql-5.7.19-winx64

      图片.png

    

      选择系统变量中的Path
      点击编辑按钮
      在变量值中添加变量值:;%MYSQL_HOME%\bin
      注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值

      图片.png

(2)创建数据库RUNOOB(注意结尾分号

图片.png

(3)查询数据库(注意结尾s;

图片.png

4)选择数据库注意结尾分号

图片.png

(5)删除数据库注意结尾分号

图片.png




下一篇: