数据库基本操作
文章目录
数据库
数据库就是以一定格式进行组织的数据的集合。通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合。
数据库管理系统(DBMS)
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的软件系统,包括三大部分构成:
- 数据库文件集合. 主要是一系列的数据文件, 作用是存储数据.
- 数据库服务端. 主要负责对数据文件以及文件中的数据进行管理.
- 数据库客户端. 主要负责和服务端通信, 向服务端传输数据或者从服务端获取数据.
数据库分类
一般情况下,可以将数据库分为关系型数据库和非关系型数据库。
关系型数据库(RDBMS)
所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,本质上使用一张二维表来表示关系。
关系型数据库主要产品
- oracle 银行,电信等项目
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台
- mysql:web时代使用最广泛的关系型数据库
关系型数据库核心元素
- 数据行(记录)
- 数据列(字段)
- 数据表(数据行的集合)
- 数据库(数据表的集合)
一个数据库相当于一个excel文件;一个数据表相当于excel表中不同的页;记录相当于excel中的行,字段相当于excel表中的列
SQL语言
SQL(Structured Query Language)是结构化查询语言,是一种用来操作RDBMS的数据库语言。当前几乎所有关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库。(SQL语言不区分大小写)
数据库的安装
服务端的安装与启动
- 服务端的安装
sudo apt-get install mysql-server
- 启动服务器
sudo service mysql start
- 查看进程中是否存在mysql服务
ps ajx|grep mysql
- 停止服务
sudo service mysql stop
- 重启服务
sudo service mysql restart
mysql配置文件
默认配置文件地址为:
/etc/mysql/mysql.conf.d/mysql.cnf
或
/etc/mysql/conf.d/mysql.cnf
其中,主要配置文件有:
bind-address表示服务器绑定的ip,默认为127.0.0.1
port表示端口,默认为3306
datadir表示数据库目录,默认为/var/lib/mysql
general_log_file表示普通日志,默认为/var/log/mysql/mysql.log
log_error表示错误日志,默认为/var/log/mysql/error.log
数据库客户端
图形化界面客户端navicat
pass
命令行客户端
- 安装客户端命令
sudo apt-get install mysql-client
- 使用帮助
mysql --help
- 使用数据库
mysql -u(用户名) -p(密码)
- 退出
quit
exit
ctrl + d
数据库数据类型
数据类型
- 整数 tinyint, smallint, mediumint, int/integer, bigint
- 小数 decimal
- 字符串 varchar, char, text
- 日期 date, time, datetime, year, timestamp
- 枚举类型 enum
- 二进制 bit
数据约束
常见约束如下:
- 主键 primary key: 物理上存储的顺序. MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned.
- 非空 not null: 此字段不允许填写空值.
- 惟一 unique: 此字段的值不允许重复.
- 默认 default: 当不填写字段对应的值会使用默认值,如果填写时以填写为准.
- 外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功, 如果不存在则填写失败并抛出异常.
数据库简单操作
- 登陆数据库
mysql -u(用户名) -p(密码)
- 退出数据库
exit
quit
CTRL + D
- 查看版本
select version();
- 查看时间
select now();
- 查看当前使用的数据库
select database();
- 查看所有数据库
show databases;
- 使用数据库
use 数据库名;
- 创建数据库
create database 数据库名 charset=utf8;
- 删除数据库
drop database 数据库名;
- 进入数据库后,查看所有数据表
show tables;
- 查看表结构
desc tables;
- 创建表
create table 表名(
字段名 数据类型 可选约束条件,
字段名 数据类型 可选约束条件,
…
);
- 删除表
drop table 表名;
- 添加字段
alter table 表名 add 字段名 数据类型 可选约束条件;
- 修改字段(重命名版)
alter table 表名 change 字段名 新字段名 新数据类型 新约束条件;
- 修改字段(不重命名版)
alter table 表名 modify 字段名 新数据类型 新约束条件;
- 查看表的创建过程
show create table 表名;