首页数据库数据库查询命令?SQL数据库里面查询表格的命令是什么

数据库查询命令?SQL数据库里面查询表格的命令是什么

编程之家2023-10-17115次浏览

这篇文章给大家聊聊关于数据库查询命令,以及SQL数据库里面查询表格的命令是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

数据库查询命令?SQL数据库里面查询表格的命令是什么

显示当前数据库中所有数据表的命令关键词是

如下:首先1. show tables或show tables from database_name;--显示当前数据库中所有表的名称。2. show databases;--显示mysql中所有数据库的名称。3. show columns from table_name from database_name;或show columns from database_name.table_name;--显示表中列名称。

然后4. show grants for user_name;--显示一个用户的权限,显示结果类似于grant命令。5. show index from table_name;--显示表的索引。6. show status;--显示一些系统特定资源的信息,例如,正在运行的线程数量。

最后的话7. show variables;--显示系统变量的名称和值。8. show processlist;--显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。

SQL数据库常用命令及语法举例

创建表:

create table表名

(

数据库查询命令?SQL数据库里面查询表格的命令是什么

id char(5) NOT NULL,

name VARCHAR(20) NOT NULL,

dept_name VARCHAR(20) NOT NULL,

salary NUMERIC(8,2),

PRIMARY KEY(id)

);

数据库查询命令?SQL数据库里面查询表格的命令是什么

/* primary key==主键等价于唯一(UNIQUE)且非空(NOT NULL)因为 Mysql里面的自增列,必须要依赖一个主键或者唯一的键。

*/

插入元组:

insert into表名 values(每个属性对应的值);

例如:

insert into xinbiao values(001,'niuniu',math,2345.1);

如果无法添加出现1366错误,则可能是MySQL配置问题

只要找到my.ini文件并查找sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这句话,将双引号前面{STRICT_TRANS_TABLES,}删除,改成sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启一下mysql后即可。前者很严格,不允许向数据库插入空值,所以就会有Value后面那个单引号。

删除所有元组:

delete from表名;

删除表:

drop table表名;

删除了表,进行select查询时会出现表名无效的错误。

属性操作

添加属性:

alter table表名 add新属性数据类型,新属性数据类型,...;

例:alter table xinbiao add shuxing1 varchar(20),shuxing2 varchar(20);

删除属性:

alter table表名 drop属性,...;

例:alter table xinbiao drop shuxing1,shuxing2;

查询语句基础结构

select对应投影

from对应笛卡尔积

where对应选择σ

含义:

(1).为from子句列出的关系产生笛卡尔积。

(2).在(1)的结果上应用where子句中指定的谓词(条件)。

(3).对于(2)中的元组,输出select子句中指定的属性。

select*(属性1,属性2,...)【字段名】

from关系名1,关系名2,...【表名】

where条件1 and条件2 and...;【条件】

例如:

Select id,name,salary

From xinbiao

Where salary>1000;

去重操作(distinct)

·对于一些属性来说,在某些元组中存在相同的值,有时我们需要对结果去重,得到正确答案。

Select distinct属性名【就是字段名】

From关系名【就是表名】

Where条件

例如:当我们想要查看系名时,多个老师可能位于同一个系,不去重将产生下列结果:

显然这不是我们想要的答案。我们只需要知道存在哪些系,而无需知道个数:

更名操作(as)

·优点

方便:长名字变短名字,便于书写语句。

同一关系笛卡尔积:区分属性。

对属性:

Select字段 as字段别名,...

From表名

Where条件

例:

Select name as instructor_name,salary

From xinbiao

Where salary>3500

结果如下:

对关系:

Select字段,...

From表名 as表名别名,...

Where条件

例:

Select i1.id,i2.name

From xinbiao as i1, xinbiao as i2

Where i1.id=i2.id and salary>3500

结果如下

字符串运算(like)

· SQL使用一对单引号来标示字符串,例‘math’。

·百分号(%):匹配任意子串

下划线(_):匹配任意一个字符

select字段

from表名

where字段 like'字符形式';

例:LIKE'AACC%'

以AACC开头的所有信息

显示次序(order by)

·默认升序:asc

·降序:desc

Select字段

From表名

Where条件

Order by字段升序/降序

between⋯⋯and⋯⋯

·属性值介于某个范围内

select* from xinbiao where属性名 between... and...;

select*from xinbiao where salary between 3000 and 6000;

结果如下

分组聚集(group by)

·聚集函数:平均值(avg)、最小值(min)、最大值(max)、总和(sum)、计数(count)。

·出现在select语句中但没有被聚集的属性只能是出现在group by子句中的属性。

having子句(出现group by时使用)

·有group by时,select和 having子句中出现的属性有所限制。

·任何出现在having子句中,但没有被聚集的属性必须出现在group by子句中。

正确查询:

select dept_name,avg(salary) as avg_salary from xinbiao group by dept_name having avg(salary)>3000

结果如下

集合成员资格

· in:测试元组是否是集合的成员

· not in:测试元组是否不是集合的成员

· in和 not in操作符用于枚举集合。

例:

select* from xinbiao where name not in('ai','ye','er');

结果如下

集合的比较

>some:至少比某一个要大

>all:比所有的都大。

>some、<some、>=some、<=some、<>some

>all、<all、>=all、<=all

=some等价于in,<>some并不等价于not in。

<>all等价于not in,=all不等价于in。

空关系测试(exists)

EXISTS在SQL中的作用是:检验查询是否返回数据。

·存在exists是相对于某一条元组,因而子查询中是select*。

例:查询在2009年秋季学期和2010年春季学期同时开课的所有课程

select course_id

from section as S

where semester='Fall' and year=2009 and exists(select*

from section as T

where semester='Spring' and year=2010

and S.course_id=T.course_id

);

删除某些元组

例:从instructor关系中删除与‘math’系教师有关的所有元组

delete from instructor where dept_name='math';

删除所有元组

delete from instructor;

插入一些元组

· insert into关系名 values(⋯⋯);一次只能插入一条元组。

· insert into关系名 selec查询语句可一次性插入多条。

更新元组

update表名set语句where条件;

例:只给工资低于7000元的教师涨工资。

update instructor2set salary=salary*1.05;where salary<7000;

给工资低于7000的教师涨5%,大于7000的涨3%

update instructor2set salary=case

when salary<=7000 then salary*1.05

else salary*1.03

end

SQL数据库里面查询表格的命令是什么

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

数据库增删改查的基本命令

以下是总结的mysql的常用语句,欢迎指正和补充~

一、创建库,删除库,使用库

1.创建数据库:create database库名;

2.删除数据库:drop database库名;

3.使用数据库:use库名;

二、创建数据表

1.创建表语句:create table表名(字段名1字段类型字段约束,字段2字段类型字段约束...);

2.创建与现有表一样字段的新表:create table表名 like已有表名;

3.将查询结果创建新表:create table表名 select* from现有表 where...(查询语句);

三、查看表结构,查看建表语句,删除表

1.查看表结构:desc表名;

2.查看建表语句:show create table表名;

3.删除表:drop table表名;

四、修改表结构

1.对数据表重命名:alter table表名 rename新表名;

2.增加字段:alter table表名 add字段名字段类型字段约束;(PS:可用first/after函数调整字段位置)

3.删除字段:alter table表名 drop字段名;

4.修改字段类型及约束:alter table表名 modify字段名新类型新约束;(PS:如不加新约束,会将建表时的约束清空,主键、外键、唯一约束除外)

5.修改字段名称:alter table表名 change字段名新字段名新字段类型新约束条件;

6.修改数据库引擎:alter table表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB对经常修改表数据友好,MyISAM对经常查询表友好)

7.增加主键:alter table表名 add primary key(字段名);

8.删除主键:alter table表名 drop primary key;

9.增加外键:alter table表名 add constraint外键名 foreign kek(字段名) references主表(主键);

10.删除外键:alter table表名 drop foreign key外键名;

11.删除唯一约束:alter table表名 drop index字段名;

12.设置自动增长的初始位置:alter table表名 auto_increment=n;

五、向表中插入数据

1.向表指定字段插入多条数据:insert into表名(字段1,字段2...) values(数据1,数据2...),(数据1,数据2...),(数据1,数据2...),(数据1,数据2...);

2.将查询结果插入表:insert into表名 select字段名 from表名(查询语句);

3.加载外部数据到表:Load data local infile‘数据路径’Into table表名 Fields terminated by‘分隔符’Ignored 1 lines;

六、更新表数据、删除表数据

1.更改满足条件的字段数据:update表名 set字段计算1,字段计算2... where条件;

2.删除满足条件的数据:delele from表名 where条件;

3.删除所有数据:方式一:delete from表名;方式二:truncate table表名;方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的其实位置;

关于数据库查询命令到此分享完毕,希望能帮助到您。

失恋阵线联盟 草蜢 草蜢的失恋阵线联盟泰语版歌名叫什么爱就爱 张靓颖(张靓颖的《爱就爱》的歌词)