最近女朋友要准备软件测试的面试,看到了一个SQL的面试题,找我要答案,我觉得挺有意思,特分享出来。

题目要求结合2张基本表的内容,按要求输出需要的结果。

基本表A:

user_idname
1000张三
1001李四

基本表B:

key_iduser_idresult
00011000
00021001
00031001
00041000
00051000

输出的结果表C

姓名
张三21
李四11

解法一:观察结果表可以看到胜负数通过B表的result可以推到出来,姓名可以用user_id暂时替代,中间表B_result如下

- 阅读剩余部分 -

最后更新时间: 2018-07-17 22:36

留个坑:安装步骤写成脚本的形式

操作环境:CentOS 6.5 / CentOS 7.2MySQL 5.6

1、查看是否安装MySQL

yum list installed | grep mysql

2、卸载自带MySQL

一般的Linux发行版会自带MySQL,但是主机服务商提供的Linux发行版不带MySQL,如果主机上没有安装MySQL则忽略此处

yum -y remove mysql-libs.x86_64

如果存在多个依赖文件也一并卸载

3、安装MySQL

下载yum源文件

wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

安装rpm到yum库

rpm -ivh mysql-community-release-el6-5.noarch.rpm --force --nodeps

查看yum库是否存在MySQL

yum repolist all | grep mysql

安装MySQL

yum -y install mysql-community-server

设置MySQL自启动

chkconfig mysqld on

启动MySQL

service mysqld start

增加MySQL root用户的密码

#mysql -u root
>use mysql;
>update user set password=PASSWORD("密码") where User='root';
>flush privileges;

设置默认编码

vim /etc/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

4、一些安全设置

登录MySQL后设置任何主机都可以通过password访问
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

MySQL自带的安全问题确认
> mysql_secure_installation


MySQL的RPM下载地址: https://dev.mysql.com/downloads/repo/yum/
参考地址:https://segmentfault.com/a/1190000009875974

完整的SELECT语句结构:

SELECT
FROM
WHERE
HAVING
ORDER BY
WITH

table_name

1、查询数值型数据:

SELECT id,name,age FROM table_name WHERE age > 20;

查询谓词:
,=,<,<>,!=,!>,!<,=>,=<

   <>  !=  效果是一样的

2、查询字符串

SELECT id,name,age FROM table_name  WHERE name like ‘%张%’

%代表任意字符

3、查询非空数据

<s>SELECT * FROM table_name WHERE address <> "" order by addtime desc</s>

    SELECT COUNT(id) FROM table_name WHERE id IS NOT NULL






- 阅读剩余部分 -

一、SQL开发规范

SQL必须大写    
必须使用通用SQL,兼容DB2,ORACLE,MySQL
删除、修改数据之前必须备份
不能使用SELECT *,SELECT 后必须指定列名
INSERT 语句,表名后面必须指定列名

1、创建并选择数据库company

CREATE DATABASE 数据库名字 CHARACTER SET 字符集;

CREATE DATABASE company CHARACTER SET utf8;

USE 数据库名字;

USE company;

2、创建表dept

CREATE TABLE 表名字(
    字段名 字段类型[字段其他参数]
);
CREATE TABLE dept(
    deptno INT PRIMARY KEY NOT NULL AUTO_INCREMENT,#主键不为空且自增
    dname VARCHAR(20) NOT NULL,
    loc VARCHAR(40)
);

- 阅读剩余部分 -

A. 注册并加载驱动:使用Class.forName(),驱动类就会注册到DriverManager里面并加载到内存里。
B. 用DriverManager获取连接对象:调用DriverManager.getConnnection()方法并传入数据库连接的URL,用户名及密码,就能获取到连接对象。

Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/";
String username = "root";
String password = "mysql";
con = DriverManager.getConnection(url,username,password);