- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
1.修改表名:
** alter table<旧表名> rename [to] <新表明>;**
alter tabledemo01
renamedemo02
;
2.添加字段:
alter table 表名 add 字段名 数据类型 [属性];
alter table demo02 addpassword
varchar(20) not null;
3.修改字段
alter table 表名 change 原字段名 新字段名 数据类型 [属性];
alter table demo02 change name
username
char(10) not null;
4.删除字段
alter table 表名 drop 字段名;
alter table demo02drop password
;
5.添加主键约束
alter table 表名 add constraint 主键名 primary key 表名 (字段名);
** 5.1 将grade表中的gradeId字段设置成主键**
alter table grade
add constraint pk_grade
primary key grade
(gradeId);
6.添加外键约束
alter table 表名 add constraint 外键名 foreign key (外键字段) references 关联表名 (关联字段)
** 6.1 设置syudent表的gradid字段与grade表的gradid字段建立主外键关联**
alter table student
add constraint fk_student_grade foreign key(gradeId
) references grade
(gradeId
);
7.插入单行数据
insert into 表名 [(字段名列表)] values (值列表);
insert into syudent
(loginPwd
,studentName
,gradeId
,phone
,bornDate
)
values('123','黄小平',1,'13956799999','1996-5-8');
注意: 字段名是可选的,如省略则依次插入所有字段
多个列表和多个值之间使用逗号分隔
值列表和字段名列表一一对应
如插入的是表中部分数据,字段名列表必填
8.插入多行数据
insert into 新表 (字段名列表) values(值列表1),(值列表2),……,(值列表n);
insert into subject
(subjectName
,classHour
,gradeID
)
values('Logic Java',220,1),('HTML',160,1),('Java OOP',230,2);
经验:为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名!
9.将查询结果插入的新表
insert into 新表 (字段1,字段2,字段3)
select 字段1,字段2……
from 原表;
**句式1:**需要先按照所插入字段的类型,顺序,个数创建新表,才能插入数据
create table 新表 (
select 字段1,字段2
from 原表 );
** 9.1 将syudent表中的studentName ,phone字段数据保存到新表phoneList中**
**create table **phoneList**
(select studentName
,phone
fromstudent**
);
句式2: 岁插入语句的执行而创建新表,无须先创建表;,如果新表存在,将会报错
10.更新数据记录,删除数据记录
10.1更新数据记录
update 表名 set 字段1=值1,字段2=值2,…,字段n=值n [where 条件];
10.2 修改student表中学员为10011学员的手机号码和家庭住址
update sutudent
set phone
='1381014' , address
='............'
where studentNo
=10011;
10.2删除表记录
delate from 表名 [where条件];
删除phoneList表中黄小平的记录
deleta from phoneList
where studentName
='黄小平';
10.3删除表中所有记录
truncate table 表名;
11.DQL语句
select <字段名列表>
from <表名或视图>
[where <查询条件>]
[group by <分组的字段名>]
[having<条件>]
[order by <排序的字段名>[asc或deac]]
12.LIMIT字句
select <字段名列表>
from <表名或视图>
[where <查询条件>]
[group by <分组的字段名>]
[order by <排序的列名>[asc或deac]]
[limit [位置偏移量,]行数]
12.1示例
** SELECT studentNo
,studentName
,phone
,address
,bornDate
**
** FROM student
**
** WHERE gradeId
= 1**
** ORDER BY studentNo
**
** LIMIT 4,4;**
13 常用的函数
复合函数
字符串函数 日期函数
数学函数
14.子查询
14.1.简单子查询语法
SELECT … FROM 表1 WHERE 字段1 比较运算符(子查询)
14.2.查询出身日期比李斯文打的学生
** select** studentNo
,studentName
,sex
,bormDate
,address
fromstudent
wherebornDate
>
(selectbornDate
fromstudent
wherestudentName
=李斯文
);
注意:将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个
15.查询“Logic Java”课程至少一次考试刚好等于60分的学生
分析:
(1)查询subject表,获得Logie Java课程的课程编号。
(2)根据课程编号,查询result表中成绩是60分的学生的学号。
(3)根据学号,查询student表得到学生姓名。
因为涉及多表,所以我们可以采用表连接,在SQL Server课程中曾经学习过
方法一:采用表连接
selectstudentName
fromstudent
(内连接(等值连接)
inner joinresult
r on stu.studentNO = r.studentNo
inner joinsubject
sub ON r.subjectNo=sub.subjectNo
wherestudentResult
= 60 andsubjectName
='Logic Java';
方法二: 采用子查询
select 'studentName**from**
student**where**
studentNo= ( **swelect**
studentNo**fro**m
result**inner join**
Subject**on** result.subjectNo= subject.subjectNo **where**
studentResult=60 **AND**
subjectName` ='Logic Java'
);
16.IN和NOT IN子查询
16.1in子查询
16.1.1查询“Logic Java”课程考试成绩为60分的学生名单
SELECTstudentName
FROMstudent
WHEREstudentNo
IN(
SELECTstudentNo
FROMresult
WHEREsubjectNo
= (
SELECTsubjectNo
FROMsubject
WHEREsubjectName
='Logic Java'
)ANDstudentResult
= 60
);
in后面的子查询可以返回多条记录,用于限制学号的删选范围。
对于相当简单的表结构,即。人员、标准和 PersonCriteria(组合表),我现在设置了一个查询,选择所有符合所有选定条件的人。 此时查询本身看起来像这样: SELECT p.PersonID
我在使用高级 SQL 查询时遇到了一些问题,而且我已经有很长时间没有使用 SQL 数据库了。我们使用 MySQL。 背景: 我们将使用两个表: “交易表” 表:expire_history +----
我找不到错误。也许你可以帮助我:我的代码如下: var data = {"product":[{"config":[{"id":"1","price":"100","sku":"1054879634
我有一个列表列表的列表(最后一个列表并不重要) data = [[[['f', 0], 'C'], [['X', 0], 'X']], [[['s', 1], 'X'], [['X', 0], 'X'
我想准备将使用表格的 session ,并在另一个网站上将新项目添加到 session 中。 默认.cs string[] tab = new string[100];
我知道有一些像: Bubble sort Insertion sort Shell sort Merge sort Heapsort Quicksort Bucket sort Radix sort
像https://softwareengineering.stackexchange.com/questions/150616/return-random-list-item-by-its-weigh
我正在开发一个 posix 脚本 (Linux),它获取一个网页,将内容存储在一个变量中并查找字符串“SUCCESS”。如果找到字符串,则不执行循环内容,如果没有找到字符串,则反复执行循环,直到找到为
我不确定这个问题是否已在其他地方得到解答,而且我似乎无法通过谷歌找到任何不是“Hello World”示例的内容...我正在使用 C# .NET 4.0 进行编码。 我正在尝试开发一个控制台应用程序,
我创建了一个房地产网站,我希望按照列表的最后更新和完整性对列表进行排序。所以我一直想弄清楚如何结合最近更新的列表按mysql中的字段(completion_score)进行排序。完成分数将采用 1
只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一
之前的章节中,我们学习了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 方法从 XML 文档中取回数据 本章节我们将继续学习其它重要的 XML DOM
我对我尝试编写的 SQL 查询有疑问。 我需要从数据库中查询数据。该数据库除其他外,还包括以下 3 个字段: Account_ID #, Date_Created, Time_Created 我需要编
我正在使用非常激进的视频压缩,例如 -crf 51 .我将其用于“艺术”效果,因此从普通视频压缩的角度来看,我所做的可能没有意义。 到目前为止,我只使用了非常基本的压缩控制,只使用了 -crf。或 -
我真的在学习 lucene 和 ravendb 上的绳索 - 我在 Raven 中有以下文档 - { "InternalEvent": { "Desec": "MachineInfo: 1
通常 grep 命令用于显示包含指定模式的行。有没有办法在包含指定模式的行之前和之后显示 n 行? 这可以使用awk来实现吗? 最佳答案 是的,使用 grep -B num1 -A num2 在匹配之
我搜索了高低,并尝试了几个小时来操纵似乎适合的各种其他查询,但我没有快乐。 我试图加入 Microsoft SQL Server 2005 中的几个表,其中一个示例是: Company Table (
我有一个如下所示的 XML 文件: teacher1Name
我将如何在 CF 中创建此语句? 显然括号不起作用,但说明了我想要完成的工作。这是什么语法? 编辑: 好的,我了解如何使用 EQ 等等。我有点匆忙地发布了这个。我的问题是关于括号。以这种方式使用它们
主要问题:我需要使用具体对象结构对任何对象结构进行类型扩展。 我在 VS Code 中测试的默认值。 我的解决方案: /** @template A @typedef {{[Ki in keyof A
我是一名优秀的程序员,十分优秀!