数据库常用命令

2018-10-22  本文已影响0人  冰柠檬_705e

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]%'

未完待续。。。 。。。

上一篇 下一篇

猜你喜欢

热点阅读