MySQL数据库sql语句操作

一、数据库模型

关系型数据库是一种以表格形式组织和存储数据的数据库。它使用关系模型,其中数据被组织为多个表格,每个表格包含了多个行和列。每个表格的列描述了数据的属性,而行包含了实际的数据记录。

非关系型数据库,也称为NoSQL数据库,采用不同的数据组织和存储方式。与关系型数据库不同,非关系型数据库通常不使用表格结构,而是使用其他数据模型,如键值对、文档、列族或图形。

二、SQL语句分类

1.DDL - 数据库操作

1)查询
show databases;     查询所有数据库
select database();  查询当前数据库
2)创建
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
3)删除
drop database [if exist] 数据库名;
4)使用
use 数据库名;

2.DDL - 表操作

1)查询
show tables;                查询当前数据库所有表
desc 表名;                   查询表结构
show create table 表名;      查询指定表的建表语句
2)创建

3)修改
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];  添加字段
alter table 表名 modify 字段名 新数据类型(长度);    修改数据类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束]; 修改字段名和字段类型
alter table 表名 drop 字段名;    删除字段
alter table 表名 rename to 新表名;   修改表名
4)删除
dorp table [if exists] 表名;      删除表名
truncate table 表名;      删除指定表,并重新创建该表

3.DDL - MySQL数据类型(常见)

  1. 整数类型:

    • TINYINT: 用于存储小范围整数值,例如性别(0代表男,1代表女)。

    • INT: 最常用的整数类型,适用于存储一般整数数据。

    • BIGINT: 用于存储较大范围的整数,比如用户ID。

  2. 浮点型和定点数类型:

    • FLOAT: 适用于存储较小的浮点数,例如存储商品价格。

    • DOUBLE: 用于存储双精度浮点数,适用于更大或更精确的浮点数。

  3. 字符串类型:

    • CHAR: 适用于存储固定长度的字符数据,例如存储国家代码。

    • VARCHAR: 用于存储可变长度的字符数据,比如存储用户名或地址。

    • TEXT: 适用于存储较长的文本数据,如文章内容或备注信息。

  4. 日期和时间类型:

    • DATE: 用于存储日期数据,例如订单日期。

    • TIME: 存储时间数据,比如存储用户登录时间。

    • DATETIME: 用于存储日期和时间的组合,例如存储创建时间。

    • TIMESTAMP: 可以用于自动记录行的创建或修改时间。

4.DML - 添加数据(INSERT=insert),修改数据(UPDATE=update),删除数据(DELETE=delete)

1.添加数据(INSERT=insert)
# 插入字段与值是一一对应的
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,...);
2.修改数据(UPDATE=update)
(条件可有可无,无:则修改整张表数据)
update 表名 set 字段1=值1,字段2=值2,...[where 条件];
3.删除数据(DELETE=delete)
(条件可有可无,无:则删除整张表数据  delete语句不能删除某个字段值,可以使用update)
delete from 表名 [where 条件];

5.DQL - 查询数据(SELECT=select)

6.DCL

1.管理用户

2.权限控制

三、小结

1.DDL

-数据库操作
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 表名;                                          删除表

2.DML

添加数据(INSERT=insert),修改数据(UPDATE=update),删除数据(DELETE=delete)
-添加数据
insert into 表名 (字段1,字段2,...) values(值1,值2,...),(值1,值2,...), ... ;
​
-修改数据
update 表名 set 字段1=值1 , 字段2=值2 [where 条件];
​
-删除数据
delete from 表名 [where 条件];

3.DQL

查询数据(SELECT=select)

4.DCL

-用户管理
# 创建一个新的数据库用户,并指定用户名、主机名和密码。
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 '用户名'@'主机名';

猜你喜欢

转载自blog.csdn.net/weixin_61275790/article/details/134870376