📜  用于查找表中列数的 SQL 查询

📅  最后修改于: 2022-05-13 01:54:35.915000             🧑  作者: Mango

用于查找表中列数的 SQL 查询

SQL代表 一种结构查询语言,用于在数据库中检索数据、更新和修改关系数据库中的数据,如 MySql、Oracle 等。查询是对数据库中数据的问题或请求,即如果我们问某人任何问题那么问题就是查询。类似地,当我们想要数据库中的任何数据时,我们会用 SQL 编写查询以获取该数据。在本文中,我们将讨论如何找到表中存在的列数。

创建数据库:

要创建数据库,我们需要在 SQL 平台中使用一个查询,例如 MySql、Oracle 等。查询是,

create database database_name;

例如,

create database GeeksforGeeks;

输出 :

Commands completed successfully

使用数据库:

要使用数据库,我们需要在 SQL 门户中使用一个查询,例如 MySql、Oracle 等。查询是,

use database_name;

这里的查询将是

use GeeksforGeeks;

输出 :

Commands completed successfully

在数据库中添加表:

要在数据库中创建表,我们需要在 SQL 平台中使用一个查询,例如 MySql、Oracle 等。查询是,

create table table_name(
column1 type(size),
column2 type(size),
.
.
.
columnN type(size)
);

例如,

create table GeeksforGeeks(
course_ID INT,
course_name VARCHAR(50),
course_mentor VARCHAR(30),
course_fee INT,
course_start_date DATE
course_enrolled_student INT
);

在这里,表中有 6 列。

见表:

要查看表,请使用“ DESC table_name ”查询。

这里的查询是,

desc geeksforgeeks;

如果我们使用 Microsoft SQL 服务器,则需要使用“EXEC sp_help”代替 DESC。在 Microsoft SQL 服务器中, DESC命令不是 SQL 命令,它是在 Oracle 中使用的。

EXEC sp_help GFG_salary;

输出 :

SL No   |    Column_name                   |    Type    |   Computed   |   Length
----------------------------------------------------------------------------------
1.        |    course_ID                       |    int     |      no      |     4
2.        |    course_name                   |   varchar  |      no      |     50 
3.        |    course_mentor                 |   varchar  |      no      |     30
4.        |    course_fee                       |     int    |      no      |     4
5.        |    course_start_date             |    date    |      no      |     3
6.        |    course_enrolled_student       |     int    |      no      |     4
----------------------------------------------------------------------------------

将值添加到表中:

要向表中添加值,我们需要在 SQL 平台中使用一个查询,例如 MySql、Oracle 等。查询是,

insert into table_name(
value1,
value2,
value3
.
.
.

valueN);

例如,这里的查询将是,

INSERT INTO `geeksforgeeks` (`course_ID`, `course_name`, `course_mentor`, `course_fee`, `course_start_date`, `course_enrolled_student`) VALUES
(1, 'SQL', 'mentor1', '3000', '2021-03-02', '10'),
(2, 'JAVA', 'mentor2a', '5000', '2021-03-02', '12'),
(3, 'DSA', 'mentor3', '4500', '2021-03-02', '25'),
(4, 'Python', 'mentor4', '3500', '2021-03-02', '20');

输出 :

4 rows affected

插入后表中的数据:

select * from geeksforgeeks;

输出 :

| course_ID    | course_name | course_mentor | course_fee | course_start_date |  course_enrolled_student  
----------------------------------------------------------------------------------------------------------
1. |  1         |    SQL      |     mentor1   |  3000      | 2021-03-02        |  10
2. |  2         |    JAVA     |     mentor2a  |  5000      | 2021-03-02        |  12   
3. |  3         |    DSA      |     mentor3   |  4500      | 2021-03-02        |  25
4. |  4         |    Python   |     mentor4   |  3500      | 2021-03-02        |  20
----------------------------------------------------------------------------------------------------------

现在我们必须找到表中存在的列数,

为了发现我们可以在关系数据库中使用带有INFORMATION_SCHEMA视图的简单函数COUNT() 。此INFORMATION_SCHEMA是一组ANSI 标准视图,提供对数据库及其对象(如表、约束、过程等)的详细信息的只读访问。请参阅以下查询

SELECT count(*) as No_of_Column FROM information_schema.columns WHERE table_name ='geeksforgeeks';

这里, COUNT(*)一一计算INFORMATION_SCHEMA .columns返回的列数,并提供列的最终计数。此处table_name选择我们希望在其中工作的表。

输出 :

|  No_of_Column  
-------------------
1. |  6
-------------------

所以在这里,最终输出将是 6,因为在“geeksforgeeks”表中有 6 列。