数据库的分类
当前最常见的数据库模型是 关系型数据库 和 非关系型数据库。
数据库相关概念
DB 数据库( DataBase ):存储数据的“仓库”。它保存了一系列有组织的数据。
DBS 数据库系统( DataBase System )是采用数据库技术的计算机系统,是由数据库(数据),数据 库管理系统(软件),数据库管理员(人员),硬件平台(硬件)和软件平台(软件)5部分构成 的运行实体。
DBMS 数据库管理系统( Database Management System )是数据库系统的一个重要组成部分,是位于 用户与操作之间的一层数据管理软件,为用户或应用程序提供访问数据库的方法:包括数据库的建 立、查询、更新以及各种数据控制。
DBA 数据库管理员( DataBase Administrator,DBA )是对数据库进行规划,设计,维护和监视等行 为的专业管理人员,在数据库系统中起着非常重要的作用。
SQL 结构化查询语言( Structure Query Language ):专门用来与数据库通信的语言。
数据库常用对象
表(Table) 表是包含数据库中所有数据的数据库对象,用于组织和存储数据。由行(Row)和列(Column) 组成。其中列由同类的信息组成,每一列又称为一个字段,每列的标题称为字段名。行包括了若干 列的信息项。一行数据称为一个或一条数据,它表达有一定意义的信息组合。
字段(Field) 表中每列称为一个字段,字段具有自己的属性,如字段数据类型,字段存储数据的大小等。其中, 字段数据类型是字段最重要的属性,它决定了字段能够存储什么类型的数据。
索引(Index) 为了给用户提供一种快速访问数据的途径,索引是依赖于表而建立,检索数据时,不用对整个表进 行扫描,可以快速找到所需的数据。 视图(View) 也叫虚拟表,一张或多张表中导出的表,用户查看数据的一种方式,结构和数据是建立在对表的查 询基础之上的。
约束(Rule) 对数据表的列,进行的一种限制,可以更好的规范表中的列。
用户(user) 所谓用户就是有权限访问数据库的人,同时需要自己登陆账号和密码。一般来说,数据库用户分 为:管理员用户和普通用户,前者可对数据库进行修改删除,后者只能进行阅读查看等操作。
数据库存储数据的特点
1.将数据放到表中,表再放到库中;
2. 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性;
3. 表具有一些特性,这些特性定义了数据在表中如何存储;
4. 表由列组成,我们也称为字段,所有表都是由一个或多个列组成的;
5. 表中的数据是按行存储的。
mysqld.exe 是 MySQL 服务端程序
net start MySQL # 启动 MySQL 服务
net stop MySQL # 停止 MySQL 服务
启动命令行窗口,输入以下命令:mysql -h 主机名 -P 端口号 -u 用户名 -p密码
登录后使用以下 sql 语句查看数据库版本:select version();
未登录时可用MySQL -v查看服务版本号
SQL 分类
DDL:数据定义语言,用于数据库库和表的创建,修改,删除,如create、drop;
DML:数据操作语言,用于添加,删除,修改数据库数据,如insert、update、delete;
DCL:数据控制语言,用来定义访问权限和安全级别,如grant、revoke;
DQL:数据查询语言,用来查询数据,如select;
基础 SQL
show databases; # 查看所有数据库名称
show database like 'm%'; # 查看以m为开头的数据库名称。
use 数据库名称;切换数据库
show tables ; # 查看当前所处数据库中的表
show tables from 数据库名称; # 查看指定数据库的表
select database();查看当前所在数据库
create database [if not exists] 数据库名;创建数据库
drop database [if exists] 数据库名;删除数据库
alter database 数据库名; 修改数据库
创建表:create table [if not exists] `表名`(
`字段名` 数据类型 [约束] [索引] [注释],
`字段名` 数据类型 [约束] [索引] [注释], ...
)[表类型] [表字符集] [注释]
alter table 表名 add 字段名 数据类型;
例: alter table member add hobby varchar(30);添加列
# 在指定字段名后面添加字段
alter table 表名 add 字段名 数据类型 after 指定字段名;
例: alter table member add hobby varchar(30) after phone;
# 将该字段添加到第一行
alter table 表名 add 字段名 数据类型 first;
例: alter table member add hobby varchar(30) first;
alter table 表名 modify 字段名 数据类型;
例: alter table member modify hobby char(30);修改列的数据类型
alter table 表名 change 旧字段名 新字段名 数据类型;
例: alter table member change hobby interest varchar(30);修改列名
alter table 表名 drop 字段名;
例: alter table member drop interest;删除列
alter table 旧表名 rename to/as 新表名;
例: alter table member rename to test_member; alter table member rename as test_member;
或 rename table 旧表名 to 新表名; 例
: rename table test_member to member;修改表名称(重命名表)
drop table [if exists] 表名;删除表
show create table 表名;查看指定表的创建语句
desc 表名;查看表结构
复制表的结构:create table [if not exists] 表名 like 要复制的表名;
例: create table member2 like member;
复制表的结构和数据:create table 表名 select * from 要复制的表名;