ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL--表

2021-01-18 23:36:31  阅读:185  来源: 互联网

标签:NAME -- student2 age SELECT SQL WHERE math


DML :增删改表中数据

语法:

添加数据:

     insert into 表名(列1,列2,。。。,列n)values(数据1,数据2,。。。,数据n);

删除数据:

     DELETE FROM student WHERE id=2;如果不加条件则删除整个表的数据

                                                               不推荐使用有多少条就会执行多少条操作

 

     TRUNCATE TABLE student;--删除表再创建一个一样的空表

修改数据:

       UPDATE 表名 SET id=4,NAME='雪'  WHERE age=17;

 

DQL:查询表中的记录

        select *from 表名;查询表

 

语法:

select

           字段列表

SELECT address FROM student2; 查询结果集

 

SELECT DISTINCT address FROM student2;  去除重复结果集

 

求和

 

SELECT NAME,math,english,IFNULL(math,0)+IFNULL(english,0)FROM student2;    如果为null替换为0

 

SELECT NAME,math,english,IFNULL(math,0)+IFNULL(english,0)AS 总分 FROM student2;        起别名总分as可以省略

 

 

SELECT * FROM student2 WHERE age>20 AND age<50;

SELECT * FROM student2 WHERE age BETWEEN 20 AND 50;

查询范围

SELECT * FROM student2 WHERE age=20 OR age=50 OR age=45;
SELECT * FROM student2 WHERE age IN (20,50,45);  

NULL 需要用is  或者 is not 来判断,不能使用其他符号

 

 

 SELECT * FROM student2 WHERE NAME LIKE'马%';  查询姓马的人

SELECT * FROM student2 WHERE NAME LIKE'_化%';查询第二个字有化的人

 

 

排列方式

         SELECT *FROM student2 ORDER BY math ASC;升序排列

         SELECT *FROM student2 ORDER BY math DESC; 降序排列

聚合函数:

 

 

SELECT AVG(math) AS '数学' FROM student2;  计算平均值

分组查询

 SELECT sex,AVG(math) '数学' FROM student2 GROUP BY sex;

 

 

SELECT sex,AVG(math) '数学' FROM student2 WHERE math>80 GROUP BY sex;

 

 where再分组之前限定,having 再分组之后进行限定

where后不可以跟聚合函数的判断,having可以跟聚合函数的判断。

 分页查询:

 

 

SELECT * FROM student2 LIMIT 0,3;
SELECT * FROM student2 LIMIT 3,3;
SELECT * FROM student2 LIMIT 6,3;

 

 

 

约束:

 

 CREATE TABLE stu(
id INT,
NAME VARCHAR(20) NOT NULL
);

 

ALTER TABLE stu MODIFY NAME VARCHAR(20);删除非空约束


ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL; 创建表后添加非空约束

 

ALTER TABLE stu2 DROP INDEX phone_number;删除唯一约束,不能用modify。

主键约束,非空且唯一

ALTER TABLE stu2 DROP PRIMARY KEY;主键删除

自动增长(一般和主键一起):

 

 

 alter table stu modify id int; 删自动增长

 alter table stu modify id int auto_increment;添加自动增长

 

 外键约束;

 

 

 

 删除外键:

alter table emplyee drop foreign_key emp_dept_fk;

 

创建表后,添加外键

alter table employee add constraint emp_dept_fk foreign key (dep_id) references department(id);

 

级联操作:

无级联时外键操作:

 

 

添加外键时设置级联更新

 

 级联删除,先删除外键再级联删除:

 

标签:NAME,--,student2,age,SELECT,SQL,WHERE,math
来源: https://www.cnblogs.com/cy2268540857/p/14290745.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有