数据库基础
第一章:数据库的简介
数据库
数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。
数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统软件
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。
它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
数据库管理系统是数据库系统的核心,是管理数据库的软件。
数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。
有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。
常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,MySQL(开源,免费,跨平台).
数据库系统
数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。
软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。
数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统软件
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。
它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
数据库管理系统是数据库系统的核心,是管理数据库的软件。
数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。
有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。
常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,MySQL(开源,免费,跨平台).
数据库系统
数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。
软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
MySQL
MySQL的管理
--安装
--linux:
yum -y install mariadb mariadb-server
OR
yum -y install mysql mysql-server
--windows:
http://dev.mysql.com/downloads/mysql/
--启动
service mysqld start --开启
chkconfig mysqld on --设置开机自启
OR
systemctl start mariadb
systemctl enable mariadb
--查看
ps aux |grep mysqld --查看进程
netstat -an |grep 3306 --查看端口
--设置密码
mysqladmin -uroot password ‘123‘ --设置初始密码,初始密码为空因此-p选项没有用
mysqladmin -u root -p123 password ‘1234‘ --修改root用户密码
--登录
mysql --本地登录,默认用户root,空密码,用户为root@127.0.0.1
mysql -u root -p 1234 --本地登录,指定用户名和密码,用户为root@127.0.0.1
mysql -u root -p 1234 -h 192.168.31.95 --远程登录,用户为root@192.168.31.95
MySQL的管理
--安装
--linux:
yum -y install mariadb mariadb-server
OR
yum -y install mysql mysql-server
--windows:
http://dev.mysql.com/downloads/mysql/
--启动
service mysqld start --开启
chkconfig mysqld on --设置开机自启
OR
systemctl start mariadb
systemctl enable mariadb
--查看
ps aux |grep mysqld --查看进程
netstat -an |grep 3306 --查看端口
--设置密码
mysqladmin -uroot password ‘123‘ --设置初始密码,初始密码为空因此-p选项没有用
mysqladmin -u root -p123 password ‘1234‘ --修改root用户密码
--登录
mysql --本地登录,默认用户root,空密码,用户为root@127.0.0.1
mysql -u root -p 1234 --本地登录,指定用户名和密码,用户为root@127.0.0.1
mysql -u root -p 1234 -h 192.168.31.95 --远程登录,用户为root@192.168.31.95
--MYSQL的常用命令
--启动mysql服务与停止mysql服务命令:
net start mysql
net stop mysql
net start mysql
net stop mysql
--登陆与退出命令:
mysql -h 服务器IP -P 端口号 -u 用户名 -p 密码
--mysql -h 127.0.0.1 -P 3306 -u root -p 123
--配置文件
/* my.ini文件:[mysql] default-character-set=gbk
[mysqld] character-set-server=gbk */
? (\?) 显示帮助信息
clear (\c) 明确当前输入语句
connect (\r) 连接到服务器,可选参数为数据库和主机
delimiter (\d) 设置语句分隔符
ego (\G) 发送命令到MySQL服务器,并显示结果
exit (\q) 退出MySQL等同于quit
go (\g) 发送命令到MySQL服务器
help (\h) 显示帮助信息
notee (\t) 不写输出文件
print (\p) 打印当前命令
prompt (\R) 改变MySQL提示信息
quit (\q) 退出MySQL
rehash (\#) 重新完成散列
source (\.) 执行一个SQL脚本文件,以一个文件名作为参数。
status (\s) 以服务器获取MySQL的状态
tee (\T) 设置输出文件,并将信息添加到所有给定的输出文件
use (\u) 用另一个数据库,数据库名称作为参数
charset (\C) 切换到另一个字符集
warnings (\W) 每一个语句之后显示警告
nowarning (\w) 每一个语句之后不显示警告
mysql -h 服务器IP -P 端口号 -u 用户名 -p 密码
--mysql -h 127.0.0.1 -P 3306 -u root -p 123
--配置文件
/* my.ini文件:[mysql] default-character-set=gbk
[mysqld] character-set-server=gbk */
? (\?) 显示帮助信息
clear (\c) 明确当前输入语句
connect (\r) 连接到服务器,可选参数为数据库和主机
delimiter (\d) 设置语句分隔符
ego (\G) 发送命令到MySQL服务器,并显示结果
exit (\q) 退出MySQL等同于quit
go (\g) 发送命令到MySQL服务器
help (\h) 显示帮助信息
notee (\t) 不写输出文件
print (\p) 打印当前命令
prompt (\R) 改变MySQL提示信息
quit (\q) 退出MySQL
rehash (\#) 重新完成散列
source (\.) 执行一个SQL脚本文件,以一个文件名作为参数。
status (\s) 以服务器获取MySQL的状态
tee (\T) 设置输出文件,并将信息添加到所有给定的输出文件
use (\u) 用另一个数据库,数据库名称作为参数
charset (\C) 切换到另一个字符集
warnings (\W) 每一个语句之后显示警告
nowarning (\w) 每一个语句之后不显示警告
SQL及其规范
SQL(Structured Query Language结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。
SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
<1> 在数据库系统中,SQL语句不区分大小写。但字符串常量区分大小写。建议命令大写,表名库名小写;
<2> SQL语句可单行或多行书写,以";"结尾。关键词不能跨多行或简写。
<3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。
SELECT * FROM tb_table
WHERE NAME="YUAN";
<4> 注释:单行注释:--
多行注释:/*......*/
<5>SQL语句可以折行操作
<6>SQL语言由DDL,DML,DQL和DCL组成
(1)数据库定义语言(Data Definition Language,DDL)
数据库定义语言主要用于定义数据库、表等,其中包括CREATE语句、ALTER语句和DROP语句。
CREATE语句用于创建数据库、数据表等,ALTER语句用于修改表的定义等,DROP语句用于删除数据库、删除表等。
(2)数据库操作语言(Data Mabipulation Language,DML)
数据库操作语言主要用于数据库进行添加、修改、删除操作,其中包括INSERT语句、UPDATE语言和DELETE语句。
INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。
(3)数据库查询语言(Data Query Language,DQL)
数据库查询语言主要用于查询语言,也就是指SELECT语句。
SELECT语句查询数据库中的一条或多条数据。
(4)数据库控制语言(Data Control Language,DCL)
数据库控制语言主要用于控制用户的访问权限,其中包括GRANT语句、REVOKE语句、COMMIT语句和ROLLBACK语句。
GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限,COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务。
SQL(Structured Query Language结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。
SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
<1> 在数据库系统中,SQL语句不区分大小写。但字符串常量区分大小写。建议命令大写,表名库名小写;
<2> SQL语句可单行或多行书写,以";"结尾。关键词不能跨多行或简写。
<3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。
SELECT * FROM tb_table
WHERE NAME="YUAN";
<4> 注释:单行注释:--
多行注释:/*......*/
<5>SQL语句可以折行操作
<6>SQL语言由DDL,DML,DQL和DCL组成
(1)数据库定义语言(Data Definition Language,DDL)
数据库定义语言主要用于定义数据库、表等,其中包括CREATE语句、ALTER语句和DROP语句。
CREATE语句用于创建数据库、数据表等,ALTER语句用于修改表的定义等,DROP语句用于删除数据库、删除表等。
(2)数据库操作语言(Data Mabipulation Language,DML)
数据库操作语言主要用于数据库进行添加、修改、删除操作,其中包括INSERT语句、UPDATE语言和DELETE语句。
INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。
(3)数据库查询语言(Data Query Language,DQL)
数据库查询语言主要用于查询语言,也就是指SELECT语句。
SELECT语句查询数据库中的一条或多条数据。
(4)数据库控制语言(Data Control Language,DCL)
数据库控制语言主要用于控制用户的访问权限,其中包括GRANT语句、REVOKE语句、COMMIT语句和ROLLBACK语句。
GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限,COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务。