MySQL入门级内容来了

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> MySQL入门级内容来了

点击蓝字“程序员考拉”欢迎关注!

MySQL入门级内容来了

一.SQL基本操作

1.MySQL–数据库服务器;SQL–数据库语言。

 

2.创建新用户:

CREATE USER ‘miao_haha‘@’localhost’ IDENTIFIED BY ‘0404’; (注意:@与引号之间无空格)

 

3.创建数据库:

CREATE DATABASE 数据库名;

 

4.选中数据库,显示数据库中的所有表:

USE 数据库名;

SHOW TABLES;

 

5.创建表:


CREATE TABLE PLAYERS(
PLAYERNO INTEGER NOTNULL,
NAME CHAR(15) NOT NULL,
INITIALS CHAR(3) NOT NULL,
BIRTH_DATE DATE,
SEX CHAR(1) NOT NULL,
JOINED SMALLINT NOT NULL,
HOUSENO CHAR(4) );

 

6.数据填充表:

INSERT INTO PLAYERS VALUES(

6,’Partment’,’R’,’1964-06-25’,’M’,1977,’Haseltine Lane’);

 

7.查询表

 查询表中的所有内容:SELECT * FROM PALYERS;

查找指定内容:


SELECT PLAYERNO,NAME,BIRTH_DATE
FROM PLAYERS
WHERE SEX='M'
ORDER BY NAME

SELECT… —要查询的列;

FROM… —要查询的表;

WHERE… —数据必须满足的条件;

ORDER BY… —最终的结果按照哪列来排序。

 

8.update

MySQL入门级内容来了

 

9.删除

删除表:DROP TABLE  表名;

删除数据库:DROP DATABASE 数据库名;

二.SELECT语句常用元素

1.直接量

固定的不会改变的值。

字符直接量:0个或多个字母或数字组成的字符串,用引号括起来,可以是单引号也可双引号。

日期直接量:’1980-12-08’,’1991-6-19’,‘1991@6@19’

时间直接量:’12:10:00’–12点10分    ‘14:00’–下午两点    ‘14’–00:00:14

 

2.列指定

含义:用来指定某一个具体的列。

表示方式:列名或表名.列名。

 

3.用户变量

含义:用户自定义的一个变量,在使用之前先定义和初始化它。

表示方式:@变量名。

 

4.系统变量

分类:全局系统变量和会话系统变量。

区别:

全局系统变量在MySQL启动的时候就开始初始化了,应用于每个启动的会话,一些系统变量可以使用SET语句来修改。

表示方式:@@GLOBAL.变量名。

MySQL警告:SET @@GLOBAL.SQL_WARNINGS=TRUE;

会话系统变量可以修改,只适用于当期的会话。

表示方式:@@SESSION.变量名。

设置SELECT语句结果中的最大行数:SET @@SESSION.SQL_SELECT_LIMIT=10;恢复为默认值:SET @@SESSION.SQL_SELECT_LIMIT=DEFAULT;

 

5.CASE表达式

5.1 每一个CASE表达式都是以WHEN开始的


SELECT PLAYERNO,
     CASE SEX
        WHEN 'F' THEN 'FEMAL'
        ELSE 'MALE' END AS SEX,NAME      (ELSE非必需)
FROM PLAYERS
WHERE JOINED1980

这里的


WHEN 'F' THEN 'FEMAL' ELSE 'MALE'

相当于


IF SEX='F' THEN
    RETURN 'FEMALE'
ELSE
    RETURN 'MALE'
ENDIF

5.2 多个WHEN条件可以包含到一个CASE表达式中


CASE CITY
    WHEN 'Nanjing' THEN 0
    WHEN 'Shanghai' THEN 1
    WHEN 'Guangzhou' THEN 2
    ELSE 3
EDN

5.3 CASE嵌套


CASE TOWN
   WHEN 'Nanjing' THEN
      CASE BIRTHDAY
         WHEN '1998-12-12' THEN 'OLDCITY'
         ELSE 'YOUNGCITY' END
   WHEN 'BEIJING' THEN
      CASE BIRTHDAY
         WHEN '1923-2-21' THEN 'OLDCITY'
         ELSE 'YOUNGCITY' END
ELSE 'REST' END

三.表表达式和子查询

1.FROM:指定要查询的表;

WHERE:选择满足条件的行;

GROUP BY:根据列中的相等的值来对行 进行分组;

HAVING:选择满足条件的组;(类似于WHERE,WHERE过滤行,HAVING过滤组)

ORDER BY:根据列对行排序;

SELECT:选择列;

 

2.表达式

概念:直接量,列名,复杂计算,运算符和函数的组合,根据特定规则来执行并得到一个值。

行表达式:一个行表达式的结果是标量值的一个集合所组成的一行,这个结果有一行值。

表表达式:一个表表达式的结果是0,1或多个行表达式的集合。

 

3.选择语句块

选择语句块:选择语句块头部  选择语句块尾部。每个选择语句块至少由一个SELECT子句构成,其他子句WHERE,GROUP BY和ORDER BY都是可选的。

如果使用了一个WHERE,GROUP BY或HAVING子句,SELECT和FROM子句是必须的。

在选择语句块中,子句的顺序是固定的,例如一个GROUP BY子句不会位于一个WHERE或FROM子句的前面,并且ORDER BY子句总是在最后。

 

4.SELECT..FROM..ORDER BY..

从指定的表中选择哪些列,并根据选中的列对行排序。

SELECT..FROM..GROUP BY..HAVING..

从指定的表中选择某些列,并根据这些列中相等的值来进行分组,然后选择满足条件的组。

SELECT..FROM..WHERE..

从指定的表中选择满足WHERE条件的列。

SELECT..选择列。

MySQL入门级内容来了
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> MySQL入门级内容来了


 上一篇
MySQL数据库开发常见问题及几点优化! MySQL数据库开发常见问题及几点优化!
来源:www.cnblogs.com/cyfonly/p/5616536.html MySQL数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在Internet中小型网站中的使用率尤其高。在使用 MySQL的过
下一篇 
SELECT语句(一) SELECT语句(一)
点击蓝字“程序员考拉”欢迎关注! 一.FROM子句 1.新建一个database EXTRA,在EXTRA中新建一个表CITIES.     如果一个表表达式包含FROM子句,处理过程从这个子句开始。   2.FROM子句中的表指定