关系型数据库是一种以表格形式组织和存储数据的数据库。它使用关系模型,其中数据被组织为多个表格,每个表格包含了多个行和列。每个表格的列描述了数据的属性,而行包含了实际的数据记录。
非关系型数据库,也称为NoSQL数据库,采用不同的数据组织和存储方式。与关系型数据库不同,非关系型数据库通常不使用表格结构,而是使用其他数据模型,如键值对、文档、列族或图形。
show databases; 查询所有数据库 select database(); 查询当前数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
drop database [if exist] 数据库名;
use 数据库名;
show tables; 查询当前数据库所有表 desc 表名; 查询表结构 show create table 表名; 查询指定表的建表语句
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束]; 添加字段 alter table 表名 modify 字段名 新数据类型(长度); 修改数据类型 alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束]; 修改字段名和字段类型 alter table 表名 drop 字段名; 删除字段 alter table 表名 rename to 新表名; 修改表名
dorp table [if exists] 表名; 删除表名 truncate table 表名; 删除指定表,并重新创建该表
整数类型:
TINYINT: 用于存储小范围整数值,例如性别(0代表男,1代表女)。
INT: 最常用的整数类型,适用于存储一般整数数据。
BIGINT: 用于存储较大范围的整数,比如用户ID。
浮点型和定点数类型:
FLOAT: 适用于存储较小的浮点数,例如存储商品价格。
DOUBLE: 用于存储双精度浮点数,适用于更大或更精确的浮点数。
字符串类型:
CHAR: 适用于存储固定长度的字符数据,例如存储国家代码。
VARCHAR: 用于存储可变长度的字符数据,比如存储用户名或地址。
TEXT: 适用于存储较长的文本数据,如文章内容或备注信息。
日期和时间类型:
DATE: 用于存储日期数据,例如订单日期。
TIME: 存储时间数据,比如存储用户登录时间。
DATETIME: 用于存储日期和时间的组合,例如存储创建时间。
TIMESTAMP: 可以用于自动记录行的创建或修改时间。
# 插入字段与值是一一对应的 insert into 表名 (字段名1,字段名2,...) values(值1,值2,...); 给指定字段添加数据 insert into 表名 values(值1,值2,...); 给全部字段添加数据 批量添加数据 insert inio 表名 (字段名1,字段名2,...) values(值1,值2,...),(值1,值2,...); insert into 表名 values(值1,值2,...),(值1,值2,...);
(条件可有可无,无:则修改整张表数据) update 表名 set 字段1=值1,字段2=值2,...[where 条件];
(条件可有可无,无:则删除整张表数据 delete语句不能删除某个字段值,可以使用update) delete from 表名 [where 条件];
-数据库操作 show databases; 查询当前所有数据库 create database 数据库名; 创建数据库 use 数据库名; 使用该数据库 select database(); 查询当前数据库 drop database 数据库名; 删除数据库 -表操作 show tables; 查询当前数据库所有表 create table 表名(字段 字段类型,字段 字段类型...); 创建表 desc 表名; 查询表结构 show create table 表名; 查询指定表的创表结构 alter table 表名 add/modify/change/drop/rename to ...; 修改表 drop table 表名; 删除表
-添加数据 insert into 表名 (字段1,字段2,...) values(值1,值2,...),(值1,值2,...), ... ; -修改数据 update 表名 set 字段1=值1 , 字段2=值2 [where 条件]; -删除数据 delete from 表名 [where 条件];
-用户管理 # 创建一个新的数据库用户,并指定用户名、主机名和密码。 create user '用户名'@'主机名' identified by '密码'; # 修改用户的认证方式为mysql_native_password,并更新密码。 alter user '用户名'@'主机名' identified with mysql_native_password by '密码'; # 删除指定的数据库用户。 drop user '用户名'@'主机名'; -权限管理 # 授予用户对指定数据库或表的权限。权限列表可以是多个权限的组合,例如SELECT、INSERT、UPDATE等。 grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'; # 从用户中撤销对指定数据库或表的权限。 revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';