数据库SQL语句基础

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 数据库SQL语句基础(浅)

 一、SQL的通用语法

通用语法

1.SQL语句可以单行或者多行书写,以分号结尾。

2. SQL语句可以使用空格/缩进来增强语句的可读性。

3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

4.注释:

.单行注释:--注释内容或#注释内容(MySQL特有)

·多行注释:/*注释内容*/

SQL分类

image.gif编辑

二、SQL语句-DDL

1、显示所有数据库

show databases;

结果:

image.gif编辑

2、使用某个数据库

use jobmessage;

3、创建表

create table 表名(内容)

create table user(

 id varchar(10),

 name varchar(50),

 gender varchar(20),

 age varchar(10)

)

结果:

image.gif编辑

三、SQL语句-DML

1、插入数据

insert into user (字段)values (数据);

示例:

insert into user (id, name, gender, age) values ('1', '小明','男', '18');

结果:

image.gif编辑

2、删除表

drop table 表名;

示例:

drop table user;

3、修改创建表的编码

alter table user default character set utf8;

4、修改表内字段的编码形式

alter table user change id id varchar(20) character set utf8;

alter table user change name name varchar(50) character set utf8;

alter table user change age age varchar(20) character set utf8;

四、SQL语句-DQL

2、查找数据

(1)查询所有数据

select * from 表名;

示例:

select * from user;(不建议使用)

select id,name,gender,age from user;

image.gif编辑

(2)查询单列数据

select 字段 from 表名;

示例:

select id from user;

image.gif编辑

(3)查询单列数据并按升序排序

select 字段 from 表名 order by 字段 asc

示例:

select age from user order by age asc;

结果:

image.gif编辑

(4)查询单列数据并按降序排序

select 字段 from 表名 order by 字段 desc

示例:

select age from user order by age desc;

结果:

image.gif编辑

五、用户管理-DCL

用户创建

1、创建用户 itcast,只能够在当前主机localhost访问,密码123456

create user '用户名'@'主机名' identified by '密码';

示例:

create user 'itcast'@'localhost' identified by '123456';

结果:

image.gif编辑

2、创建用户 heima,可以在任意主机访问,密码123456

create user '用户名'@'主机名' identified by '密码';

示例:

create user 'heima'@'%' identified by '123456';

image.gif编辑

3、修改用户 heima 的访问密码为1234

arter user '用户名'@'主机名' identified with mysql_native_password by '密码';

示例:

alter user 'heima'@'%' identified with mysql_native_password by '123456';

4、删除用户itcast

drop user '用户名'@'主机名';

示例:

drop user 'itcast'@'%'

用户权限

1、查询权限

show grants for '用户名'@'主机名';

示例:

show grants for 'heima'@'%';

结果:

image.gif编辑

2、授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

示例:

grant all on itcast.* to 'heima'@'%';

3、撤销权限

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

示例:

revoke all on itcast.* from 'heima'@'%';

六、函数

1、字符串函数

image.gif编辑

案例:

1、由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0, 比如:1号员工的工号应该为00001.

代码示例:update user set id = lpad(id, 5, '0');

结果:

image.gif编辑

2、数值函数

image.gif编辑

案例:

通过数据库的函数,生成一个六位数的随机验证码

代码示例:select lpad(round(rand()*1000000, 0), 6, '0');

结果:

image.gif编辑

3、日期函数

image.gif编辑

4、流程函数

image.gif编辑

create table score(

   id int comment 'id',

   name varchar(20) comment '姓名',

   math int comment '数学',

   english int comment '英语',

   chinese int comment '语文'

)comment '学员成绩表';

select * from score;

insert into score(id, name, math, english, chinese) values (1, 'Tom', 67, 88, 95),

                                                          (2, 'Rose', 23, 66, 98),

                                                          (3, 'Jack', 50, 60 ,85),

                                                          (4, 'Mack', 60, 49, 90);

--

select

   id,

   name,

   (case when math >= 85 then '优秀' when math >= 60 then '及格' else '不及格' end) '数学',

   (case when english >= 85 then '优秀' when english >= 60 then '及格' else '不及格' end) '英语',

   (case when chinese >= 85 then '优秀' when chinese >= 60 then '及格' else '不及格' end) '语文'

from score;

结果:

image.gif编辑


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
8天前
|
SQL 关系型数据库 MySQL
数据库开发之SQL简介以及DDL的详细解析
数据库开发之SQL简介以及DDL的详细解析
23 0
|
19天前
|
SQL 数据库 数据库管理
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
55 11
|
19天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
91 6
|
6天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
8天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
8天前
|
SQL XML 数据库
sql导入数据库命令
在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
|
11天前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SPOOL命令:数据库世界的“录像机”
【4月更文挑战第19天】`SQL*Plus`的`SPOOL`命令是Oracle数据库中的“录像机”,能记录所有操作和输出。它在用户开始“SPOOL ON”时启动,记录SQL查询、输出、错误信息等。完成后,“SPOOL OFF”停止记录并生成日志文件,便于回顾和检查。日志文件可自定义保存位置和命名,支持多文件录制,方便分类管理。无论数据分析、SQL脚本编写还是日常维护,`SPOOL`都是强大的工具,值得一试!
|
11天前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
11天前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。