mysql面试基本语句(1)


最近面试经常被问到,复习一下.

模拟操作的数据库 sql文件

/*
Navicat MySQL Data Transfer

Source Server : localhost
Source Server Version : 50621
Source Host : localhost:3306
Source Database : mianshi

Target Server Type : MYSQL
Target Server Version : 50621
File Encoding : 65001

Date: 2021-06-07 19:53:43
*/

SET FOREIGN_KEY_CHECKS=0;


– Table structure for haixin


DROP TABLE IF EXISTS haixin;
CREATE TABLE haixin (
xingming char(6) DEFAULT NULL,
xuehao char(6) DEFAULT NULL,
xingbie tinyint(1) NOT NULL,
PRIMARY KEY (xingbie)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


– Records of haixin



– Table structure for xs


DROP TABLE IF EXISTS xs;
CREATE TABLE xs (
学号 char(6) NOT NULL,
姓名 char(8) NOT NULL,
专业名 char(10) DEFAULT NULL,
性别 tinyint(1) NOT NULL DEFAULT ‘1’,
出生日期 date NOT NULL,
总学分 tinyint(1) DEFAULT NULL,
照片 blob,
备注 text,
PRIMARY KEY (学号)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


– Records of xs


INSERT INTO xs VALUES (‘000001’, ‘李大钊’, ‘计算机’, ‘1’, ‘0000-00-00’, ‘100’, null, null);
INSERT INTO xs VALUES (‘081101’, ‘王海新’, ‘计算机’, ‘1’, ‘1999-02-10’, ‘50’, null, null);
INSERT INTO xs VALUES (‘081111’, ‘蔡元培’, ‘信息工程’, ‘2’, ‘1999-02-02’, ‘11’, null, null);
INSERT INTO xs VALUES (‘109333’, ‘陈独秀’, ‘计算机’, ‘1’, ‘1999-10-08’, ‘20’, null, null);

查询基本结构

基础查询:
select … from 表;
查询数据库所有记录的指定字段

查询指定列

	select 列名1,列名2... from 表
	select 学号,姓名 from xs;

查询所有列

select * from 表
select * from xs;

还可以做运算
基本的加减乘数
常量和常量
列和常量
列和列

null的特殊性

	在sql中,任何数据和null做运算,运行的结果还是null
	null不是0
	可以通过特定的函数,将null设置为特定的值

—注意有null值时,结果为null
select 学号 + 总学分 from xs;

过滤查询

select ... from 表 where 过滤条件

起别名

可以对查询结果其别名

— as可以省略,如果别名中有空格,需要用引号括起来
select 学号 as number from xs;

去重复

使用distinct

select distinct 性别 from xs;

排序

使用关键字 order by

升序 asc
降序 desc
默认是升序
select … from … order by…

select 学号 from xs order by 学号 asc;
select 学号 from xs order by 学号 desc;

–根据结果的第一列进行排序
select 学号,姓名 from xs order by 1 desc;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑白极客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值