点击蓝字“程序员考拉”欢迎关注!
一.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
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..选择列。