mysql基本命令面试经验<一>
本帖最后由 黑白客 于 2021-6-7 19:55 编辑mysql面试基本语句
模拟操作的数据库 sql文件
查询基本结构
查询指定列
查询所有列
null的特殊性
过滤查询
起别名
去重复
排序
最近面试经常被问到,复习一下.
模拟操作的数据库 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; 感谢分享,祝成功 潇洒三叔 发表于 2021-6-7 08:59
CHARSET=latin1;insert 的中文, 查出来全是乱码。
好细心,你说的对,我其实私下偷偷改了数据库,全部换成了utf-8 感谢分享,就是感觉排版觉得不太舒服 谢谢分享,面试成功没? 感谢分享,抢前排 没问索引吗? CHARSET=latin1;insert 的中文, 查出来全是乱码。 blindcat 发表于 2021-6-6 21:33
感谢分享,就是感觉排版觉得不太舒服
最近准备面试,事情比较多. 笔记也比较潦草抱歉啦 homehome 发表于 2021-6-7 07:43
谢谢分享,面试成功没?
面上一家张家口的,但是想去北京 fht000 发表于 2021-6-7 08:58
没问索引吗?
问,我感觉如果问数据库,索引是必问的题目
页:
[1]
2