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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
22天前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
1月前
|
存储 关系型数据库 MySQL
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
95 1
|
1月前
|
存储 关系型数据库 MySQL
提高MySQL查询性能的方法有很多
提高MySQL查询性能的方法有很多
162 7
|
21天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
27 7
|
19天前
|
关系型数据库 MySQL
Mysql 中日期比较大小的方法有哪些?
在 MySQL 中,可以通过多种方法比较日期的大小,包括使用比较运算符、NOW() 函数、DATEDIFF 函数和 DATE 函数。这些方法可以帮助你筛选出特定日期范围内的记录,确保日期格式一致以避免错误。
|
1月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
57 11
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
38 1
|
1月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
61 5
|
1月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具