当前位置: 首页 > news >正文

SQL学习之常用的数据库命令和基础查询

一、常用命令:

1. 查看当前所有的数据库show databases 2. 打开指定的库use  库名3. 查看当前库的所有表show tables4. 查看其他库的所有表show tables from 库名5. 创建表create table 表名(列名,列类型列名,列类型);
6. 查看表结构desc  表名7. 查看服务器的版本:方式一:登录到mysql服务端 select version();方式二:没有登陆到myusql服务器 mysql --version

二、MySQL语法规范

  1. 不区分大小写,建议关键字大写且不能分行,表名,列名小写

  2. SQL可以卸载一行或多行,未来提高可读性,各子句分行写,必要时使用缩进

  3. 每条命令以;或\g 或\G结束

  4. 关于标点符号

    1. 必须保证所有的()、单引号、双引号是成对结束的
    2. 必须使用英文状态写的半角输入方式
    3. 字符串型和日期时间性的数据可以使用单引号(‘ ’)表示
    4. 列的别名,尽量使用双引号(“ ” ),而且不建议省略as
  5. 注释

    1. 单行注释:*注释文字
    2. 单行注释:-- 注释文字
    3. 多行注释:/* 注释文字 */
  6. MySQL在linux环境下是大小写敏感的

    1. 数据库名,表名,表的别称,变量名是严格区分大小写的
    2. 关键字,函数名,列名(或字段名),列的别名(字段名)是忽略大小写的

SQL语言的分类:

DDL: 数据定义语言 CREATE \ ALTER \ DROP \ RENAME \ TRUNCATE

DML: 数据操作语言 INSERT \ DELETE \ UPDATE \ SELECT

DCL: 数据控制语言 COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE

三、数据的导入

在命令行客户端登录mysql,使用source指令导入

第一种(在MySQL内部): msyql> source d:mysqldb.sql
第二种(在命令行界面):>mysql -u root -p 数据库名 < 路径名 数据库名.sql

数据库的导出

> msyqldump -u root -p 数据库名 > 路径名 数据库名.sql

需要密码

四、基本的SELECT…FROM结构

msyql>select 字段1,字段2,字段3,字段4... from 表名
#查询表中字段信息
msyql>select * from 表名
# * :表中所有字段的信息
#列的别名
# as:全称:alias(别名),可以省略
#列的别名可以使用双引号""引起来#去除重复行
#distinct#空值参与运算
#1.空值:null
#2. null不等同于0,'','null'
#3. 空值参与运算#查询常数#显示表结构
describe 表名; #显示了表中字段的详细信息
desc 表名#过滤条件
where 

条件语句:

#语法:
SELECT 字段1,字段2
FROM  表名
WHERE  过滤条件

使用WHERE子句,将不满足条件的行过滤掉

WHERE子句紧跟FROM子句

查询之前需要转到表所在的库

USE myemployees

基础查询:

语法:select 查询列表 from 表名:

类似于:System.out.println(打印东西);

特点:

  1. 查询列表可以是:包中的字段、常量值、表达式、函数

  2. 查询的结构是严格虚拟的表格

  3. 查询表中的单个字段

    SELECT last_name FROM  employees;
    
  4. 查询表中的多个字段

    SELECT last_name,salary,email FROM employees;
    
  5. 查询表中的所有字段

    SELECT * FROM employees;
    
  6. 查询常量值

    SELECT 100;
    SELECT 'john';
    
  7. 查询表达式

    SELECT 100&99;
    
  8. 查询函数

    SELECT VERSION();
    
  9. 起别名

    1. 便于理解
    2. 如果要查询的字段有重名的情况,使用别名可以区分开来
    #方法一 使用as
    SELECT 100 %99 AS 结果;
    #方法二 使用空格
    SELECT last_name 姓,first_name 名 FROM employeers;
    #案例:查询salary。显示结果为  out put
    SELECT salary AS out put FROM employees;(此时需要在 out put 的两边加上双引号)
    
  10. 去重

    案例:查询员工表中涉及到的所有的部门编号

    SELECT DISTINCT  department_id FROM  employees
  11. +号

    案例:员工名和员工姓连接成一个字段,并显示为姓名

    SELECT last_name+first_name AS 姓名  
    FROM employees;
    #会失败
    #可以使用concat函数来进行两个字段的拼接
    SELECT CONCAT()
    

    在这里插入图片描述

条件查询:

语法: select 查询列表 from 表名 where 筛选条件;

分类:

一、按条件表达式筛选

条件运算符:> < = != <> >= <=

注意:<> 和 != 都是不等于的意思

建议:如果你写的 SQL 代码将来可能迁移到其他数据库(如 Oracle、SQL Server),请用 <>

如果只在 MySQL 环境里写脚本或程序,!= 也完全没问题。

二、按逻辑表达式筛选

逻辑运算符:

&&and两个条件都为true,结果为true,反之为false
||or只要有一个条件为true,结果为true,反之为false
not如果连接的条件本身为false,则结果为true

建议:在sql语言中使用第二列的语法,便于阅读

三、模糊查询

  • like

    • 特点:一般和通配符搭配使用 %

      • 通配符 :

        %:任意多个字符,包含0个字符

        _:任意单个字符

  • between and

    • 使用between and 可以提高语句的简洁度
    • 包含临界值
    • 两个临界值不要调换顺序
  • in

    • 含义:判断某字段的值是否属于in列表中的莫一项
    • 特点:
      1. 使用in提高语句简洁度
      2. in列表的值类型必须一致或兼容
  • is null

    • !=或<>不能判断null
    • is null可以处理null值
  • <=> 安全等于

    • 安全运算符(<=>)与等于运算符(=)的作用是相似的,唯一的区别是‘<=>’可用来对NULL进行判读,在两个操作数均为NULL时,其返回值为1,而不是NULL,当一个操作数为NULL时,其返回值为0,而不是NULL

排序查询

语法:

select 查询列表
from 表
【where 筛选条件】
order by 排序列表 【asc|desc

特点:

  1. asc代表的是升序,desc代表的是降序(如果不写默认是升序)
  2. order by 子句中可以支持单个字段、多个字段、表达式、函数、别名
  3. order by 子句一般是放在查询语句的最后面,limit子句除外
http://www.dtcms.com/a/532692.html

相关文章:

  • 做爰网站1000部扬中营销网站建设
  • 优化网页性能指标:提升用户体验的关键
  • 淮北矿业工程建设公司网站wordpress如何做拼团
  • rust更新后编译的exe文件执行报错
  • 申请网站建设费人们常用的网页设计工具是
  • 琵琶行论坛GBA、MD、SFC、FC、PS1、PS2 HACK修改版中文游戏全集下载
  • 【AI大模型】Function Calling接口介绍
  • 公司做英文网站wordpress怎么解压
  • 从网站下载壁纸做海报涉及网站标签化
  • 诚信档案建设网站首页推广目标怎么写
  • UE5 蓝图-21:主 mainUI 界面蓝图,颜色按钮蓝图 Ul_colorsUl 的内容,尺寸,事件分发器还有赋予按钮形状的环状材质
  • 安卓开发玩转JetPack之Room的使用
  • e龙岩网站网站建设外包公司
  • 做的图怎么上传到网站google play应用商店
  • 图书馆网站建设拖拽网站开发
  • CSS ::before 和 ::after 伪元素详解
  • 网站gif素材wap音乐网站源码
  • Gorm(九)嵌套预加载、带条件预加载(防止 N+1)
  • 提供网站建设公司网络销售网络推广方案
  • 网站域名的所有权seo关键词优化提高网站排名
  • Live Home 3D Pro for mac 强大高级的室内设计软件
  • 网站建设网络科技公司加盟搜索引擎营销的案例
  • 关于SN29500学习笔记---如何根据该标准计算实际FIT
  • Git 中忽略 Mac 生成的 .DS_Store文件
  • C# 结合Redis Cache 访问MySQL数据库
  • 深圳做网上商城网站手机网站广告代码
  • 自己公司内网网站和外网怎么做同步手机触屏版网站开发
  • 2025年渗透测试面试题总结-218(题目+回答)
  • 伍佰亿门户网站莱芜翰林名苑莱芜论坛
  • 自动化测试——常见的函数