数据库概述-小结
- 数据库发展史:绳结纸带–文件–数据库–高级数据
- 数据库分类:关系型数据库和非关系型数据库
- 关系型数据库的使用场景
- Web网站系统
- 日志记录系统
- 数据仓库
- 嵌入式系统
Mysql概述
- RDBMS是关系型数据库管理软件系统是一款软件
- RDBMS的软件分2个端:服务端和客户端
- Mysql数据库是RDBMS的其中一款软件
- Mysql数据库软件是免费的,支持大型数据操作,跨平台,通过SQL交互
- SQL(Sructured Query Language)是结构化查询语言,是一种用来操作RDBMS的数据库语言。也就是说通过SQL可以操作 oracle,sql server, mysql,sqlite 等关系型数据库
Mysql数据类型
数据类型 | 说明 |
---|---|
int, bit | 整数 |
decimal | 小数 |
varchar, char | 字符串 |
date, time, datetime | 日期时间 |
enum | 枚举类型 |
Mysql数据库服务端(service)启动
说明 | 代码 |
---|---|
查看MySQL服务状态 | sudo service mysql status |
停止MySQL服务 | sudo service mysql stop |
启动MySQL服务 | sudo service mysql start |
重启MySQL服务 | sudo service mysql restart |
Mysql登入客户端操作
说明 | 代码 |
---|---|
连接mysql服务端指令 | mysql -uroot -p |
显示当前时间 | select now() |
退出连接 | exit / quit / control+d |
Mysql数据库操作
说明 | 代码 |
---|---|
查看所有数据库 | show databases; |
创建数据库 | create database 数据库名 charset=utf8; |
使用数据库 | use 数据库名; |
查看当前使用的数据库 | select database(); |
删除数据库 | drop database 数据库名 |
Mysql表操作
说明 | 代码 |
---|---|
查看所有当前库中所有表 | show tables;; |
创建表 | create table 表名(字段名称 数据类型 可选的约束条件, column1 datatype control, …); |
修改表字段类型 | alter table 表名 modify 列名 类型 约束; |
删除表 | drop table 表名; |
查看表结构 | desc 表名; |
Mysql-CRUD操作
1.查询列表
-- 1. 查询所有列
select * from 列名
例:
select * from students;
-- 2. 查询指定列
select 列1,列2,...from 表名;
例:
select id,name from students;
2.增加数据
-
全列插入:值的顺序必须和字段顺序完全一致
insert into 表名 value(...);
- 部分列插入:值的顺序和给出的列的顺序对应
insert into 表名(列1...) values(值1...)
;- 全列多行插入
insert into 表名 values(......), (......), (......)
;- 部分列多行插入
insert into 表名(列1...) values(值1......), (值1......), (值1......);
3.修改数据
update 表名 set 列1=值1,列2=值2... where 条件
例:
update students set age = 18, gender = '女' where id = 6;
4.删除数据
delete from 表名 where 条件
例:
delete from students where id = 5;
5.备份导出
# 备份导出 —— 语法
mysqldump -u用户名 -p密码 数据库名字 表名字 > data.sql
6.恢复导入
# 恢复导入 -- 语法
cd 到数据文件路径下
mysql -u用户名 -p密码
use 数据库
source data.sql