mySQL-简易用法(三)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 1.数据库的基本概念数据库的英文单词: DataBase 简称 : DB2.what 什么数据库用于存储和管理数据的仓库。3.数据库的特点:1. 持久化存储数据的。其实数据库就是一个文件系统2. 方便存储和管理数据3. 使用了统一的方式操作数据库 -- SQL

11.R(Retrieve):查询


  • 查询所有数据库的名称:
  • show databases;
  • 查询某个数据库的字符集:查询某个数据库的创建语句
  • show create database 数据库名称;


12.修U(Update):修改


  • 修改数据库的字符集
  • alter database 数据库名称 character set 字符集名称;


13.D(Delete):删除


  • 删除数据库
  • drop database 数据库名称;
  • 判断数据库存在,存在再删除
  • drop database if exists 数据库名称;


14. 使用数据库


  • 查询当前正在使用的数据库名称
  • select database();
  • 使用数据库
  • use 数据库名称;


15. 操作表


C(Create):创建

. 语法:

create table 表名(

列名1 数据类型1,

列名2 数据类型2,

....

列名n 数据类型n

);

  • 注意:最后一列,不需要加逗号(,)


16.数据库数据类型:


  1. int:整数类型
  • age int,
  1. double:小数类型
  • score double(5,2)
  1. date:日期,只包含年月日,yyyy-MM-dd
  2. datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
  3. timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
  • 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
  1. varchar:字符串
  • name varchar(20):姓名最大20个字符
  • zhangsan 8个字符 张三 2个字符


17. 表操作


1.创建表


create table student(
id int,
name varchar(32),
age int ,
score double(4,1),
birthday date,
insert_time timestamp
);
2.复制表:
  • create table 表名 like 被复制的表名;
R(Retrieve):查询
  • 查询某个数据库中所有的表名称
  • show tables;
  • 查询表结构
  • desc 表名;
3. U(Update):修改
  1. 修改表名
    alter table 表名 rename to 新的表名;
  2. 修改表的字符集
    alter table 表名 character set 字符集名称;
  3. 添加一列
    alter table 表名 add 列名 数据类型;
  4. 修改列名称 类型
    alter table 表名 change 列名 新列别 新数据类型;
    alter table 表名 modify 列名 新数据类型;

4. 删除列

alter table 表名 drop 列名;

5. D(Delete):删除表
  • drop table 表名;
  • drop table if exists 表名 ;


18 增删改查表中数据


8Y}XGSQ]D}`B95T$]VSKG6F.png


1.增加 数据

insert into 表名(字段名1,字段名2...) values(值1,值2)


INSERT into students(name,age) VALUES("张三丰",108)
注意:
  1. 列名和值要一一对应。
  2. 如果表名后,不定义列名,则默认给所有列添加值
    insert into 表名 values(值1,值2,...值n);
  3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来

~L4~89[DZ947]0Z__VKQRJG.png


刷新查看


2.删除数据

DELETE FROM 表名 WHERE 条件


DELETE from students where id=1
DELETE from students where age=20 and name="张三"
DELETE from students where id=02 or id=03


注意:
  1. 如果不加条件,则删除表中所有记录。
  2. 如果要删除所有记录
  3. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
  4. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。

3.修改数据

UPDATE 表名 set 字段1=值1,字段2=值2 WHERE 条件


UPDATE students set name="新名字" ,age=66 WHERE NAME='李四
注意:
  1. 如果不加任何条件,则会将表中所有记录全部修改。

4.查找数据

SELECT 字段1,字段2 FROM 表名 WHERE


SELECT * from students
SELECT  id,name from students
//复杂的 查询
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
注意:
  • 1如果查询所有字段,则可以使用*来替代字段列表。
  1. 去除重复:
  • distinct
  1. 计算列
  • 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
  • ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
  • 表达式1:哪个字段需要判断是否为null
  • 如果该字段为null后的替换值。
  1. 起别名:
  • as:as也可以省略
条件查询
  1. where子句后跟条件
  2. 运算符
    > 、< 、<= 、>= 、= 、<>
  • BETWEEN...AND
  • IN( 集合)
  • LIKE:模糊查询
  • 占位符:
  • _:单个任意字符
  • %:多个任意字符
  • IS NULL
  • and 或 &&
  • or 或 ||
  • not 或 !

常用查询SQL距离


- 查询年龄大于20岁
SELECT * FROM student WHERE age > 20;
SELECT * FROM student WHERE age >= 20;
-- 查询年龄等于20岁
SELECT * FROM student WHERE age = 20;
-- 查询年龄不等于20岁
SELECT * FROM student WHERE age != 20;
SELECT * FROM student WHERE age <> 20;
-- 查询年龄大于等于20 小于等于30
SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;
-- 查询年龄22岁,18岁,25岁的信息
SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
SELECT * FROM student WHERE age IN (22,18,25);
-- 查询英语成绩为null
SELECT * FROM student WHERE english = NULL; -- 不对的。null值不能使用 = (!=) 判断
SELECT * FROM student WHERE english IS NULL;
-- 查询英语成绩不为null
SELECT * FROM student WHERE english IS NOT NULL;
-- 查询姓尹的有哪些? like
SELECT * FROM student WHERE NAME LIKE '尹%';
-- 查询姓名第二个字是国的人
SELECT * FROM student WHERE NAME LIKE "_国%";
-- 查询姓名是3个字的人
SELECT * FROM student WHERE NAME LIKE '___';
-- 查询姓名中包含胜的人
SELECT * FROM student WHERE NAME LIKE '%胜%';



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
关系型数据库 MySQL 测试技术
MYSQL中EXISTS的用法
MYSQL中EXISTS的用法
|
7天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
12 1
|
6天前
|
存储 关系型数据库 MySQL
mysql mysqldump用法详解
mysql mysqldump用法详解
|
6天前
|
存储 关系型数据库 MySQL
MySQL中的Decimal数据类型用法详解
MySQL中的Decimal数据类型用法详解
|
1月前
|
存储 关系型数据库 MySQL
MySQL各字符集、排序规则的由来、用法,区别和联系
MySQL支持多种字符集和排序规则,这些在数据库设计和数据处理中起着重要作用。下面是它们的由来、用法、区别和联系: 1. **字符集(Character Set)**: - **由来**:字符集定义了数据库中可以存储的字符集合,以及这些字符在数据库中的存储方式。 - **用法**:在创建数据库或表时,可以指定所需的字符集。常见的字符集包括UTF-8、UTF-16、Latin1等。 - **区别和联系**:不同的字符集支持不同的字符范围和存储方式,选择合适的字符集可以确保数据的正确存储和处理。例如,UTF-8支持全球范围内的大多数字符,而Latin1只支持西欧语言字符集。
|
19天前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
30 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL 中exists与in及any的用法详解
MySQL 中exists与in及any的用法详解
75 3
|
1月前
|
自然语言处理 关系型数据库 MySQL
一文明白MySQL索引的用法及好处
一文明白MySQL索引的用法及好处
41 0
|
1月前
|
关系型数据库 MySQL
MySQL union和union all的用法详解和区别
MySQL union和union all的用法详解和区别
38 0
|
1月前
|
SQL 关系型数据库 MySQL
MySQL 基本概念 基础用法 增删改查(特殊查询)语法 详细篇
MySQL 基本概念 基础用法 增删改查(特殊查询)语法 详细篇