0.创建数据库:CREATE DATABASE aaa
1.查看数据库:show databases
2.使用数据库:USE bing
3.查看数据库中存在的表:SHOW TABLES
4.删除数据库:DROP DATABASE bing
5.清空表数据:TRUNCATE info_user
6.查看表结构:DESC aaa
7.删除表:DROP TABLE info_user
7.删除表字段:ALTER TABLE aaa DROP COLUMN user_name
8.创建表,并插入单行或多行数据:
CREATE TABLE info_user(
user_id INT(4),
user_name CHAR(20),
user_sex CHAR(4),
user_age INT(4)
)
INSERT INTO info_user
VALUE(
1000,'冰柠檬','女',18
)
INSERT INTO info_user
VALUES
(1001,'红茶','男',20),
(1002,'绿茶','女',18),
(1003,'喜茶','男',19),
(1004,'奶茶','男',20)
查询相关命令
1.查询指定表中所有字段:SELECT * FROM aaa
2.查询指定字段指定条件:SELECT user_id FROM info_add WHERE user_add2 = "南山"
3.通过相同字段连接进行多表查询:
SELECT a.*,b.user_job,b.user_salary
FROM info_user a, info_job b
WHERE a.user_id = b.user_id;
4. 多表查询:
SELECT a.user_id,b.user_name,c.user_add2
FROM info_user a,info_job b,info_add c
WHERE a.`user_id`=b.`user_id` AND b.`user_id` = c.`user_id`
5.两表内连接:共同部分输出
SELECT a.*,c.`user_add2`
FROM info_user a
INNER JOIN info_add c
ON a.`user_id` = c.`user_id`
6.两表左(右)连接:以左(右)为主要输出内容,若右表无对应内容则输出Null
SELECT a.*,c.`user_add2`
FROM info_user a
INNER JOIN info_add c
ON a.`user_id` = c.`user_id`
7.查询01课程比02课程成绩高的所有学生的学号:
SELECT a.id,sys_user.name
FROM
sys_user,
(SELECT * FROM sys_scroe WHERE cid = '01') AS a,
(SELECT * FROM sys_scroe WHERE cid = '02') AS b
WHERE
sys_user.id = a.id
AND
a.id = b.id
AND
a.score > b.score;
8.查询平均分大于90的学生编码和姓名以及平均分
SELECT sys_user.id,sys_user.name,AVG(sys_scroe.score)
FROM sys_user,sys_scroe
GROUP BY sys_user.id
HAVING AVG(sys_scroe.score)>90;
JOIN语法
INNER JOIN(内连接): 如果表中有至少一个匹配,则返回行
LEFT JOIN(左连接): 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN(右连接): 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN(外连接): 只要其中一个表中存在匹配,就返回行
LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法
例:我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
SELECT * FROM PersonsWHERE City LIKE 'N%'
通配符描述(与link一起使用)
% 替代一个或多个字符
例:"Persons" 表中选取居住在以 "Ne" 开始的城市里的人
SELECT * FROM Persons WHERE City LIKE 'Ne%'
_ 仅替代一个字符
例:"Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
[charlist] 字符列中的任何单一字符
例 :"Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
[^charlist]或者[!charlist] 不在字符列中的任何单一字符
例: "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
未完待续。。。 。。。
网友评论