数据库
DataBase【DB】,指的是长期保存到计算机上的数据,按照一定顺序组织,可以被各种用户或者应用共享的数据集合
持久化存储 / 临时存储(缓存)
【用于存储数据的地方,可以视为存储数据的容器】
SQL简介
Structure Query Language,结构化查询语言。
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可证之下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
数据库安装教程
Mysql数据库安装语句
1.sudo apt-get install mysql-server
2.sudo apt-get install mysql-client
3.sudo apt-get install libmysqlclient-dev
查询mysql是否安装成功:
sudo ss -tap | grep mysql
SQL的分类
DDL【Data Definition Language】数据定义语言,用户创建、修改、删除表结构
DML【Data Manipulation Language】数据操作语言,用于对表数据进行增删改的操作
DQL【Data Query Language】数据查询语言,用于负责表数据的查询工作
DCL【Data Control Language】数据控制语言,用来定义访问权限和安全级别
数据库操作
create创建
#创建数据库
CREATE DATABASE database_name charset=utf8;
#创建表
CREATE TABLE 表名 (
字段1 字段类型[列级别约束条件][默认值],
字段2 字段类型[列级别约束条件][默认值],
….
字段n 字段类型[列级别约束条件][默认值]
[表级别约束条件]
)
#创建user表
create table students(
id int primary key auto_increment,
name varchar(20),
age int
);
alter操作
#1.修改表名
语法规则:ALTER TABLE old_table_name RENAME [TO] new_table_name
#2.修改字段的数据类型
语法规则:ALTER TABLE table_name MODIFY 字段名 数据类型
修改完成之后可以查看DESC table_name检验结果
#3.修改字段名
语法规则:ALTER TABLE table_name CHANGE 旧字段名 新字段名 数据类型
#4.添加字段
语法规则:ALTER TABLE table_name ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER 已经存在的字段名]
#5.删除字段
语法规则:ALTER TABLE table_name DROP 字段名
#6.修改字段的排列位置
语法规则:ALTER TABLE table_name MODIFY 字段1 数据类型 FIRST|AFTER 字段2
first: 设置成第一个
after 字段2: 在指定字段2的后面
#7.删除表的外键约束
语法规则:ALTER TABLE table_name DROP FOREIGN KEY 外键约束名
#8.删除数据表
#删除没有被关联的表
语法规则:DROP TABLE [IF EXISTS] 表1,表2…
#删除被其他表关联的的表
直接删除会出现错误的,操作: 先解除关联 再进行删除
常用字段和对应的数据类型
对表的增删改
insert 插入
#单行插入
INSERT INTO table_name (field1, field2,…fieldN) VALUES(value1, value2,…valueN);
update更新
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
注意:
a.完全可以更新一个字段或者多个字段
b.where相当于Python中的if语句
c.可以指定任何条件到where子句中
d.如果没有where子句,则默认所有的行都被同时更新为指定的操作[慎用!一般要结合where使用]
where子句
delete删除
DELETE FROM table_name [WHERE Clause]
注意:
a.如果where子句没有指定,则默认将表中的数据全部删除【慎用!】
b.可以指定任何条件在where子句中