mysql中的基础查询

mysql中的基础查询

基础查询

/*
语法:
select 查询列表/查询内容 from 表名;
有点类似于:System.out.println("打印内容");

特点:

1、查询列表/查询内容可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格(你可以理解成查询结果是一个临时表格)
*/

注意:在select查询的时候,请先执行以以下USE 库名;比如 USE myemployees; 意思是我要使用employees库,或者说切换到myemployees库,以后我们写的sql语句,就全部是在操作myemployees库了。

USE myemployees;

案例:

#井号是单行注释

#1.查询表中的单个字段

SELECT email FROM employees;

#2.查询表中的多个字段

SELECT email, last_name, salary FROM employees; -- 使用,逗号把各个字段名隔开

#3.查询表中的所有字段

#方式1

SELECT
    `employee_id`,
    `first_name`,
    `last_name`,
    `phone_number`,
    `last_name`,
    `job_id`,
    `phone_number`,
    `job_id`,
    `salary`,
    `commission_pct`,
    `manager_id`,
    `department_id`,
    `hiredate`
FROM
    employees ;

哦,对了,还有一点要说一下:

SELECT `employee_id`, `first_name`, `last_name` from `employees`;

大家看上面的这条sql语句,每个字段名和表名都在两边加了`反引号,`符号叫反引号,就是着重号,为什么要在字段名和表名两边加上`反引号呢?

原因就是避免和 mysql 的本身的关键字冲突,下面我举个例子

你创建表的时候,定义了几个字段,其中有一个字段名叫from,那你查询数据的时候,写的sql语句如下

select from from 表名; -- 你的第一个from是字段名,第二个from才是mysql中的语法关键字,这样的话,有可能造成字段名、表名、数据库名等和mysql 的本身的关键字冲突,所以我们给字段名、表名、数据库名的两边加上`反引号,防止意外发生,所以我们给字段、表、数据库等取名字的时候,最好不要取和mysql中关键字相同的名字,别没事找事,别给自己找麻烦,而且你们看上面的那条sql语句多别扭,可读性/阅读性非常不好,别人看到你这条sql语句容易迷惑蒙圈,容易搞混搞糊涂。

为了便于阅读和理解,不建议使用关键字作为字段名、表名,同时,应该对数据库名、表名、字段名用一对反引号包含。

当然啦,SELECT `employee_id`, `first_name`, `last_name` from `employees`;这条语句你也可以不使用`反引号,可以写

成SELECT employee_id, first_name, last_name from employees;这样,都是ok的,只是如果你的字段名、表名、数据库名等如果是mysql关键字的话,就要用`反引号包起来


(`这个符号在mysql中的作用

` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。

所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字。例如:

select from from table;
第一个from是字段名,最后的table表名,但是同时也是mysql关键字,这样执行的时候就会报错,所以应该使用
select `from` from `table`;
当然,为了便于阅读和理解,不建议使用关键字作为字段名、表名,同时,应该对数据库名、表名、字段名用一对反引号包含。

)

#方式2

SELECT * FROM employees;

 #4.查询常量值、表达式、函数等

SELECT
last_name, `email`, "令狐冲", 'hellojack',
  2 > 5,
  2 < 5,
  100 % 30,
  "hello",
  'okok',
  666,
  888.99,
  'h',
  TRUE,
  FALSE,
  'true',
  NOW()
FROM
  employees ;

 #5.查询常量值

 SELECT 888;
 SELECT 'jack';
 SELECT "令狐冲";
 SELECT "tom";

 #6.查询表达式
  SELECT 100 % 30, 6 + 7, 20-3, 3*5;

#7.查询函数
SELECT
  NOW(),
  CURRENT_TIMESTAMP(),
  VERSION(),
  LOCALTIME(),
  LOCALTIMESTAMP();

或者你也可以这样

SELECT
  NOW(),
  CURRENT_TIMESTAMP(),
  VERSION(),
  LOCALTIME(),
  LOCALTIMESTAMP()
FROM
  employees ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值