一、数据库概述
数据库是在数据管理和程序开发过程中,一种非常重要的数据管理方法,通过数据库,可以非常方便的对数据进行管理操作
数据库是数据的仓库,数据库按照一定的数据格式,结构来存储数据,方便数据和操作和管理。
- 常用关系数据库
MySQL
中小型数据库,跨平台,开源,免费,应用范围广Oracle
大型数据库,跨平台,稳定,安全,收费MS SQL Server MS
针对 NT系统开发的数据库,只能运行在 NT 系统上Sqlete
微型数据库,常用在移动端开发
-
数据库操作语言
SQL
Structured Query Language 结构化查询语言分类:
- 数据定义语言:
DDL
Data Definition Language - 数据操作语言:
DML
Data Manipulation Language - 数据查询语言:
DQL
Data Query Language - 数据控制语言:
DCL
Data Control Language
- 数据定义语言:
-
MySQL默认数据库
Information_schema
: 保存着关于MySQL服务器所维护的所有其他数据库的信息(元数据)performance_schema
: 保存数据库的性能优化信息sys
: 整合了Information_schema/performance_schema两个数据库中的信息,方便操作mysql
: 保存用户信息
二、操作数据库
查看数据库
-
显示所有数据库
show databases;
-
使用/切换数据库
use 数据库名 use 数据库名; >>>use employees; # “;”不做强制要求
-
显示当前使用的数据库
select database();
创建数据库
-
创建
create database 数据库名; >>>create database testdb; create database 数据库名 charset 编码格式; >>> create database testdb charset utf8; create database 数据库名 character set 编码格式; >>> create database testdb character set utf8;
-
查看创建数据库的信息
show create database 数据库名; >>>show create database employees;
修改数据库编码
- 使用alter命令
alter database 数据库名 character set 编码格式; >>>alter database employees character set utf8;
删除数据库
- 删除数据库一定需要小心,尤其是在操作生产数据库或重要数据库的时候,否则可能落得“删库跑路”的下场。
drop database 数据库名; >>>drop database testdb;
三、操作数据表
查看数据表
- 查看所选数据库中所有的表
show tables;
- 显示表结构
desc 表名; >>>desc student;
创建数据表
-
创建新的表
create table 表名( 字段1 字段类型, 字段2 字段类型, 字段3 字段类型……); >>>create table student(id int, name char(20), age int);
-
显示创建表时的信息
show create table 表名; >>>show create table student; #表格显示信息 >>>show create table student \G; # 垂直显示信息
修改表结构
-
增加字段
alter table 表名 add 字段名 数据类型 >>>alter table student add gender char(4);
-
删除字段
alter table 表名 drop 字段名; >>> alter table student drop gender;
-
修改字段类型
alter table 表名 modify 字段名 类型; >>>alter table student modify name varchar(20);
-
修改字段类型并命名
alter table 表名 change 原字段名 新字段名 类型; >>>alter table student change id number smallint;
四、操作表中数据
增
- 插入数据
insert into 表名 [(字段名列表, ...)] values(值列表, ...) >>>insert into student values(1,'tom',20); # 插入指定字段: 可以插入指定的字段,指定字段顺序和列中顺序可以不同,值顺序要和指定的列顺序相同。 >>>insert into student(age,name) values(20,'jack'); # 插入多条数据 >>>insert into student values(2,'rose',20),(3,'tony',22);
删
- 删除数据
# 删除全部数据 truncate 表名; >>>truncate stu; # 删除满足条件的数据 delete from 表名 where 字段名 = 数据; >>>delete from stu where snumber = 1;
改
- 修改数据
update 表名 set 字段=值 [条件] # 更新所有的数据 >>>update student set age=25; # 更新满足条件的数据 >>>update student set name='mike' where name='tony';
查
数据库的查询命令多,后续另写一篇文章列举查的常用操作