欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库基本操作

程序员文章站 2022-05-31 21:46:47
...

数据库

数据库就是以一定格式进行组织的数据的集合。通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合。

数据库管理系统(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 表名;