mysql数据库的常用方法,增删改查

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: RDBMSDQL:数据查询语言,用于对数据进行查询,如selectDML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、deleteTPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollbackDCL:数据控制语言,进行授权与权限回收,如grant、revokeDDL:数据定义语言,进行数据库、表的管理等,如create、dropCCL:指针控制语言,通过控制指针完成表的操作,如declare cursor


RDBMS

DQL:数据查询语言,用于对数据进行查询,如select

DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete

TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback

DCL:数据控制语言,进行授权与权限回收,如grant、revoke

DDL:数据定义语言,进行数据库、表的管理等,如create、drop

CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor

mac开启mysql

1.数据库的操作

   链接mysql数据库

   mysql -u root -p

   mysql -uroot -p12345678

   退出数据库

   exit/quit/ctrl+D

   sql语句最后需要有;结尾

   显示数据库版本

   select version();

   显示时间

   select now();

   查看所有数据库

   show databases;

   创建数据库

   create database 数据库名 charset=utf8;

   create database python04;

   查看创建数据库的语句

   show create database …

   show create database python04;

   查看当前使用的数据库

   select database();

   使用数据库

   use 数据库的名字

   use python_test

   删除数据库

   drop database 数据库名;

   drop database python04;

2.数据表的操作

   查看当前数据库中所有表

   show tables;

   创建表

   auto_increment表示自动增长

   not null 表示不能为空

   primary key 表示主键

   default 默认值

   create table 数据表名字 (字段 类型 约束,字段 类型 约束);

   create table xxxxx(id int, name varchar(30));

   create table yyyyy(id int primary key not null auto_increment, name varchar(30));

   create table zzzzz(

   id int primary key not null auto_increment,

   name varchar(30)

   );

   desc 数据表的名字;

   desc xxxxx;

   创建students表(id,name,age,high,gender,cls_id)

   create table students(

   id int unsigned not null auto_increment primary key,

   name varchar(30),

   age tinyint unsigned default 0,

   high decimal(5,2),

   gender enum(“男”,“女”,“中性”,“保密”) default “保密”,

   cls_id int unsigned

   );

insert into students values(0,“老王”,18,188.88,“男”,0); # 插入数据

select * from students; #查询表中的数据

   创建classes表(id,name)

   create table classes(

   id int unsigned not null auto_increment primary key,

   name varchar(30)

   );

insert into classes values(0, “python04大神”);

select * from classes;

   查看表的创建语句

   show create table 表名字;

   show create table students;

   修改表:添加字段

   alter table 表名 change 原名 新名 类型;

   alter table students add birthday datetime;

   修改表-修改字段:不重命名版

   alter table 表名 modify 列名 类型及约束;

   alter table students modify birthday date;

   修改表-修改字段:重命名版

   alter table 表名 change 原名 新名 类型及与约束;

   alter table students change birthday birth date default “1990-01-01”;

   修改表-删除字段:

   alter table 表名 drop 列名;

   alter table students drop high;

   删除表

   drop table 表名;

   drop database 数据库;

   drop table 数据表;

   drop table xxxxx;

3.增删改查(curd)

3.1 增加

   全列插入

   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 | | 1990-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”);

   枚举中的下标表示1 男 2 女 3 中性

   insert into students values(default ,“小李飞刀”, 20, 1 ,1,“1990-01-01”); 、

   部分插入

   insert into 表名(列1,…) values(值1,…)

   insert into students (name,gender) values(“小乔”,2);

   多行插入

   insert into students (name,gender) values(“大乔”,2),(“貂蝉”,2);

   insert into students (name,gender) values(“貂蝉”,2);

   insert into students values(default ,“西施”, 20, “女”,1,“1990-01-01”),(default ,“王昭君”, 20, “女”,1,“1990-01-01”);

3.2 修改

update 表名 set 列1=值1,列2=值2… where 条件;

update students set gender = 1; #全部都改

update students set gender = 1 where id = 7; # 只要id是7的修改

update students set age=22,gender=1 where id=3; # 只要id为3的 进行修改

3.3 删除

   物理删除

   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;

3.4 查询

   查询所有列

   select * from 表名;

   select * from students;

   select * from students where name =‘小李飞刀’;

   指定条件查询

   查询指定列

   select 列1,列2,… from 表名;

   select name,gender from students;

   字段的顺序

   可以使用as为列或表指定别名

   select 字段[as 别名],字段[as 别名] from 数据表 where …;

   select name as 姓名,gender as 性别 from students;

   select gender as 性别,name as 姓名 from students;


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
2月前
|
关系型数据库 MySQL 索引
MySQL的全文索引查询方法
【8月更文挑战第26天】MySQL的全文索引查询方法
39 0
|
21天前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
11天前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
37 4
|
21天前
|
消息中间件 关系型数据库 数据库
Python实时监测数据库表数据变化的方法
在实现时,需要考虑到应用的实时性需求、数据库性能影响以及网络延迟等因素,选择最适合的方法。每种方法都有其适用场景和限制,理解这些方法的原理和应用,将帮助开发者在实际项目中做出最合适的技术选择。
79 17
|
11天前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
22 4
|
11天前
|
关系型数据库 MySQL Unix
MySQL配置不区分大小写的方法
结论 通过适当配置 lower_case_table_names参数以及在数据定义和查询中选择合适的校对规则,可以灵活地控制MySQL中的大小写敏感性,以适应不同的应用场景和需求。这样的设置既可以增加数据库的兼容性,又可以在必要时利用大小写敏感性进行精确的数据处理。需要注意的是,修改 lower_case_table_names参数后,最好在数据库初始化时进行,以避免现有表名的大小写问题。
31 3
|
8天前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
19天前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
91 6
|
18天前
|
存储 缓存 关系型数据库
MySQL 查询优化方法
在数据库应用中,高效的查询性能至关重要。本文探讨了常用的 MySQL 查询优化方法,包括索引优化(选择合适的索引字段、复合索引、定期维护索引)、查询语句优化(避免全表扫描、限制返回行数、避免使用不必要的函数)、表结构优化(选择合适的数据类型、分区表、定期清理无用数据)及数据库配置优化(调整缓存大小、优化存储引擎参数)。通过这些方法,可以显著提高 MySQL 的查询性能,为应用程序提供更好的用户体验。

热门文章

最新文章

下一篇
无影云桌面