SQL语言——MySQL

发布于:2025-03-27 ⋅ 阅读:(28) ⋅ 点赞:(0)

SHOW DATABASES;##展示数据库
CREATE DATABASE test01;##创建数据库
DROP DATABASE test01;##删除数据库

USE test;##使用数据库
INT--整数
DECIMAL(3,2)--有小数点的数
VARCHAR(10)--字串
BLOB--存放二进制资料
DATE--日期 YYYY-MM-DD
TIMESTAMP--时间 YYYY-MM-DD HH:MM:SS

CREATE TABLE student(##创建表
    student_id INT PRIMARY KEY,
    name VARCHAR(10),
    major VARCHAR(20),
)

DESCRIBE student;##展示表

DROP TABLE student;##删除表

ALTER TABLE 'student' ADD sex DECIMAL(3,2);##增加属性

ALTER TABLE student DROP COLUMN sex;##删除属性

INSERT INTO student VALUES(1,‘小白’,'历史')##插入数据

SELECT * FROM student;##查看表格信息

##constraints 限制,约束
NOT NULL##不能为空
UNIQUE##唯一,不能重复
DEFAULT ‘语文’ ##默认值
id INT AUTO_INCREMENT ##自动编号,每次自动+1

##修改删除资料
        CREATE TABLE student(##创建表
           student_id INT PRIMARY KEY,
           name VARCHAR(10),
           major VARCHAR(20),
           score INT,
        )
##修改major下的英语修改为英语文学
        UPDATE student SET 'major' = '英语文学'
        WHERE 'major'='英语'

        UPDATE student SET 'major' = '生物','name'='张三'
        WHERE 'student_id'='3' OR 'name'='张四'

AND 且      OR 或

##删除
        DELETE FROM 'student'
        WHERE 'student_id'=4;

##排序
        SELECT * FROM 'student' ORDER BY 'score' DESC;
DESC 降序  默认升序

LIMIT 3;##后面加上limit只展示前三个

<>不等于

 排序 order by

        SELECT * FROM chengjidan ORDER BY 'score'

取score前三高的数据

        SELECT * FROM chengjidan ORDER BY 'score' DESC LIMIT 3

将选择后的数据去除重复值——distinct

        SELECT DISTINCT ‘sex’ FROM 'student‘

聚合函数

计算学生的人数

        SELECT count(*) FROM ’student‘

取得出生年龄在2000-01-01之后的女性学生人数

        SELECT COUNT(*) FROM 'student'

        WHERE ’sex‘=’女‘ AND 'birth_date'>'2000-01-01';

求班级学生成绩的平均值

        SELECT AVG('score') FROM student;

求班级学生成绩的总和

        SELECT SUM('score') FROM student;

最大值MAX    最小值MIN

 wildcards  万用字符

%多个     _单个

取得手机尾号为225的客户

        SELECT *

        FEOM 'client'

        WHERE 'phone' LIKE '%225';

 union  把两个表的查询结果放一起

把教师名字和学生名字都查询出来

        SELECT sname FROM student

        UNION

        SELECT tname FROM teacher;

注:搜寻的结果数量要是相等的,做合并的资料形态要是一样的

 join  把两个表格连接在一起

        SELECT stu_name,cla_score

        FROM ‘student’

        JOIN 'class'

        ON ‘stu_id’='cla_id';

LEFT JOIN:  join左边的表格无论条件是否成立都回传,右边的表格条件成立才回传

 subquery  子查询

找出研发部门的经理名字

        先找研发部门的manager_id,根据manager_id 找经理名字

                SELECT manager_id FROM 'bumen' WHERE 'bumen_name' = '研发';

               

                SELECT manager_name

                FROM 'employee'

                WHERE manager_id=(

                        SELECT manager_id

                        FROM 'bumen'

                        WHERE 'bumen_name' = '研发'

                );


网站公告

今日签到

点亮在社区的每一天
去签到