您的位置:首页 > 数据库 > MySQL

数据库之MySQL的基本使用

2019-07-05 08:30 1256 查看

数据库简介

数据库

数据库就是一种特殊的文件,其中存储着需要的数据;
关系型数据库核心元素:

  • 数据行(记录)
  • 数据列(字段)
  • 数据表(数据行的集合)
  • 数据库(数据表的集合)

 

Ubuntu进入数据库:

  • 1.sudo -s;
  • 2.cd /var/lib/mysql;
  • 3.ls -h;
  • 4.cd 数据库名;
  • 5.ls

一个表中:
一列--->一个字段
一行--->一条记录

字段和记录组成表;
几个表组成一个数据库;

一个大的系统可能有几个数据库,而几个数据库里面有很多表;

 

 

RDBMS

Relational Database Management System

通过表来表示关系型

当前主要使用两种类型的数据库:关系型数据库、非关系型数据库,本部分主要讨论关系型数据库,对于非关系型数据库会在后面学习;

所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;

查看数据库排名:https://db-engines.com/en/ranking

 

关系型数据库的主要产品:

  • oracle:在以前的大型项目中使用,银行,电信等项目
  • mysql:web时代使用最广泛的关系型数据库
  • ms sql server:在微软的项目中使用
  • sqlite:轻量级数据库,主要应用在移动平台

 

python中常用的数据库:

  • mysql,关系型数据库,一般用来做网站,
  • redis一般用来做缓存,
  • MongoDB,非关系型数据库,一般做爬虫,用来存储非关系型数据;

 

RDBMS和数据库的关系

-- 增删改查(curd)

-- 增加
-- 全列插入
-- insert [into] 表名 values(...)
-- 主键字段 可以用 0  null   default 来占位
-- 向classes表中插入 一个班级
insert into classes values(0, "菜鸟班");

+--------+-------------------------------------+------+-----+------------+----------------+
| Field  | Type                                | Null | Key | Default    | Extra          |
+--------+-------------------------------------+------+-----+------------+----------------+
| id     | int(10) unsigned                    | NO   | PRI | NULL       | auto_increment |
| name   | varchar(30)                         | YES  |     | NULL       |                |
| age    | tinyint(3) unsigned                 | YES  |     | 0          |                |
| gender | enum('男','女','中性','保密')       | YES  |     | 保密       |                |
| cls_id | int(10) unsigned                    | YES  |     | NULL       |                |
| birth  | date                                | YES  |     | 2000-01-01 |                |
+--------+-------------------------------------+------+-----+------------+----------------+

-- 向students表插入 一个学生信息
insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01");

-- 失败
-- insert into students values(default, "小李飞刀", 20, "第4性别", 1, "1990-02-01");

-- 枚举中 的 下标从1 开始 1---“男” 2--->"女"....
insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01");

-- 部分插入
-- insert into 表名(列1,...) values(值1,...)
insert into students (name, gender) values ("小乔", 2);

-- 多行插入
insert into students (name, gender) values ("大乔", 2),("貂蝉", 2);
insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01");

-- 修改
-- update 表名 set 列1=值1,列2=值2... where 条件;
update students set gender=1; -- 全部都改
update students set gender=1 where name="小李飞刀"; -- 只要name是小李飞刀的 全部的修改
update students set gender=1 where id=3; -- 只要id为3的 进行修改
update students set age=22, gender=1 where id=3; -- 只要id为3的 进行修改

-- 查询基本使用
-- 查询所有列
-- select * from 表名;
select * from students;

---定条件查询
select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息
select * from students where id>3; -- 查询 name为小李飞刀的所有信息

-- 查询指定列
-- select 列1,列2,... from 表名;
select name,gender from students;

-- 可以使用as为列或表指定别名
-- select 字段[as 别名] , 字段[as 别名] from 数据表 where ....;
select name as 姓名,gender as 性别 from students;

-- 字段的顺序
select id as 序号, gender as 性别, name as 姓名 from students;

-- 删除
-- 物理删除
-- delete from 表名 where 条件
delete from students; -- 整个数据表中的所有数据全部删除
delete from students where name="小李飞刀";

-- 逻辑删除
-- 用一个字段来表示 这条信息是否已经不能再使用了
-- 给students表添加一个is_delete字段 bit 类型
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;
增删改查示例  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐