基本概念
为什么要有数据库
没有数据库,我们的数据都是存储在文件当中的,那么文件存储数据的缺点有:
- 文件的安全性问题。
- 文件不利于查询和对数据的管理。
- 文件不利于存放海量数据
- 文件在程序中控制不方便
什么是数据库
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行增加、删除、修改、查询等操作。
前端程序员只需要对数据库有一定了解即可。
浏览器---->服务器---->数据库
数据库的分类
关系型数据库:
- MySQL、
- Oracle、
- SQL Server
- SQLite(安卓)
非关系型数据库
- mongodb
- redis
- BigTable
DBA
数据库中基本术语
- 数据库
database
:存放数据的仓库,一般一个项目中的数据会存储到一个数据库中 - 表
table
: 一个表对应一类数据,比如学生表,老师表 - 列
columns
:一张表由多列组成,也叫一个字段,比如学生的姓名,成绩,年龄等 - 行
rows
: 一个学生信息对应一行,一行也叫一条记录。
数据库的可视化操作
创建数据库
创建表
存储以下学生信息
{id: 1, name: '张三', age: 18, gender: '男', content: '这是描述信息‘}
数据类型
int
: 整数类型
varchar
: 字符类型
datetime
: 日期类型
数据库的常见命令
SQL: 结构化查询语言(Structured Query Language)简称SQL 。用于数据库的增删改查以及管理等功能。
数据库相关
-
--
SQL中的注释 -
SHOW DATABASES;
查看所有的数据 -
CREATE DATABASE mydb;
创建数据库 -
DROP DATABASE mydb;
删除数据库 -
USE mydb;
使用数据库
表相关
SHOW TABLES;
查看当前数据库中所有的表- 创建表
CREATE TABLE user(
id INT auto_increment PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT ,
gender VARCHAR(4),
content VARCHAR(255)
)
DROP TABLE user;
删除表
插入数据
INSERT INTO user (name, age, gender, content) VALUES ('胡聪聪', 18, '男', '哈哈哈,哈哈哈')
-- 如果省略列名,那么必须要和字段一一对应
INSERT INTO user VALUES (null, '胡聪聪', 18, '男', '哈哈哈,哈哈哈')
INSERT INTO user SET name='hcc', age=18, gender='男', content='嘻嘻嘻'
修改数据
// 修改所有的数据
UPDATE USER SET name='胡西西'
// 根据条件修改
UPDATE USER set name='胡聪聪', content="这是内容" WHERE id = 2
删除数据
// 删除所有的数据
DELETE FROM USER
// 删除id为5的数据
DELETE FROM USER WHERE id = 5
查询数据
-- 查询所有数据
SELECT * FROM user
-- 查询指定列
SELECT id, name,age from user
条件查询
--- 并且
SELECT * from user where name='胡聪聪' AND age=21
--- 或者
SELECT * from user where name='胡聪聪' or age=21
-- 范围查询
-- 模糊查询 %表示通配 _表示单个字符
SELECT * from user where name LIKE '胡%'
-- in语句
SELECT * from user where name in ('胡聪聪', 'hcc')
-- order by
-- 排序需要写在最后面,,asc升序 desc:降序
SELECT * from user ORDER BY id desc
-- limit分页
SELECT * from user ORDER BY id desc limit 3
SELECT * from user ORDER BY id desc limit 3,3
-- 获取总条数
SELECT count(*) as total FROM user