sql关键词
① sql里面查询关键字
SELECT *
FROM 表名
WHERE 用户姓名="keyword" OR
性别="keyword" OR
家庭住址="keyword" OR
邮政编码="keyword"
② MYSQL中执行插入操作的关键字是
一、关键字执行顺序
1、查询中用到的关键词主要包含六个,并且他们的顺序依次为 :
select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的。
这六个关键词的执行顺序,与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行
from--where--group by--having--select--order by。
注意:虽然select在having后执行,但是mysql中仍然可以在having中使用select语句定义的别名。
原因分析:mysql在查询的时候会产生一个临时表,所有的字段名称(别名)在临时表中已经产生,产生了临时表之后才会进行having操作。也就是说mysql内部有一定的解析顺序,解析顺序select优先于having。在这里我个人认为是mysql可能没有将这一点做规范。Oracle中having无法使用select语句内的别名。
2、insert into 和replace into和merge into
insert into是mysql的基本插入语句。replace into 是mysql中的代替插入语句,可以理解为insert into的升级版。replace into在执行的时候,首先会根据指定的主键或者唯一索引判断当前表中是否存在指定的主键或索引,如果主键或唯一索引已经存在,则先将对应的索引的数据删除,然后在索引位置插入replace into中包含的数据。如果主键和唯一索引没有存在,则直接在索引位置插入replace into中包含的数据。merge into 是oracle数据库中的代替插入语句。实现方式和replace into类似。执行效率:如果指定索引位置没有数据,insert into和replace into执行效率相差无几,二者效率相同。如果指定位置索引已经存在,insert into语句不能正常执行,replace into语句可以正常执行。注意:虽然replace into比较好使用,但是也存在一定风险:replace每次要重新分配自增id;replace中执行delete时, 在有外键的情况下会很麻烦;如果delete时定义的有触发器, 则会被执行;副作用也会被传播到replica slave.推荐使用INSERT INTO … ON DUPLICATE KEY UPDATEON DUPLICATE KEY UPDATE是mysql特有的一个sql关键字,只能在mysql中使用。
在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则执行新纪录插入操作。
比如有这样一张表:
create table func(id int primary key,count int,birthday date);
insert into func values(1,1,'1990-09-09');--插入一条数据
insert into func values(1,1,'1990-09-09') on plicate key update count = count+1;--表中有数据,删除原表数据,将新数据插入。
提示两行受到影响,说明先执行的删除操作,然后插入新的数据。
观察到没有任何新数据插入,count字段被更新。(count字段更新是因为刚刚的插入语句中书写了update count = count+1;)
如果不希望任何字段更新,可以写成如下格式:
insert into func values(1,1,'1990-09-09') on plicate key update count = values(count);--再次执行,没有新数据插入到数据库中。
二、mysql内置函数
内置函数众多,不需要每一个都掌握,熟练掌握几个在以后使用即可。可以查看mysql官方文档学习内置函数。
三、其它注意事项
1、在已经存在的表中添加外键。(仅作为了解内容)
alter table tb_name add constraint fk_name foreign key (tb_name.id) references tb_stu(id);
例如:alter table emp add constraint forkey foreign key(dept_id) references dept(id);
该语句是在 tb_name表上添加一个外键约束,引用 tb_stu的主键,fk_name是约束的名字。
删除约束:alter table tb_name drop constraint fk_name ;
2、外键的使用情景:
在不要求吞吐速度而对数据的正确性和安全性要求较高时,推荐使用外键。
如果面对高吞吐量,要求优先保证读取效率时,则不推荐使用外键。
3、删除的时候使用别名:
原句:delete from employee where id = 1;
别名:delete e from employee as e where id =1;
③ 建立数据表的SQL关键词为
create table [表名]
([列1] [数据类型],
[列2] [数据类型],
......
)
这是基本表,
复杂的,有约束,主键,外键,唯一键,默认值等
④ 求SQL语句查询时常使用的关键字
用法如下:
SELECT ______选择项(字段或常量或表达式)
FROM ______选择项里出现的字段的表 若有两张以上的表 则同时写
上多张表 并在中间加上逗号分开就行
WHERE _____写上要满足的条件 有两张以上的表 则进行关联 table1.
字段=table2.字段 其中字段是相同的
ORDER BY ____ 将查询结果排序 ASC表示升序可省略 DESC降不可省略
GRDER BY 将查询结果分组排列
表之间的关联也可以用
FROM table1 inner join table2 ON table1.字段=table2.字段
⑤ SQL关键字
很奇怪的写法,*通常用于
like的文本匹配关系,用>=进行文本匹配本身就不符合SQL标准。#也同理,而且前后一个#多用于表示日期型,例如#2009-1-1#。在实例中,假如FNumber是字符型,则
AND
t3.FNumber>='*ItemNo*'
AND
t3.FNumber<='#ItemNo#'
等于多余;如果是数值型,则会出错。
⑥ SQL中 如何搜索‘关键词’
select列1,列2,列3from表名wherenamelike'%关键词%'
name like '%关键词%' 表是 name包含"关键词"3个字。%表示通配符,表示任何字符都适用。
a,like '关键词%' 表示以关键词开头的内容
b,like '%关键词' 表示以关键词结尾的内容
c,like '关键词' 等同于 ='关键词' 的写法,即name是关键词的,你的写法是这样
d,like '%关键词%丽%' 表示like可以包含多个%的通配符
⑦ SQL语句中条件短语的关键字是
关键字是WHERE
SELECT-SQL最基本的格式为:SELECT-FROM-WHERE。其中,SELECT用于选择查询结果要显示的目标列表,FROM用于列出查询要用到的所有表文件,WHERE则用于指定查询结果的查询条件。(复制于网络题库)
⑧ 简述sql中查询语句的关键字
distinct
关键字可从
select
语句的结果中消除重复的行。如果没有指定
distinct,将返回所有行,包括重复的行。例如,如果选择
proctinventory
中的所有产品
id
时没有使用
distinct,将返回
1069
行。
如果使用了
distinct,就可以消除重复的行,只查看唯一的产品
id:
use
adventureworks;
go
select
distinct
proctid
from
proction.proctinventory
此查询将返回
432
行。