Which SQL command removes all the rows of a table but keeps the table structure, and is classified as a DDL command?
- A.DELETE
- B.DROP
- C.TRUNCATE
- D.ERASE
Correct answer
Explanation
The correct answer is C, TRUNCATE. TRUNCATE empties a table in one operation, leaving the columns, data types and constraints in place so that the table can be filled again at once; because it changes the object rather than selected rows it is grouped with the Data Definition Language and it is much faster than deleting row by row. Option A is wrong because DELETE is a Data Manipulation Language command that removes only the rows a WHERE clause selects and can be undone with ROLLBACK before the transaction is committed. Option B is wrong because DROP destroys the table itself, so the structure disappears along with the data. Option D is wrong because ERASE is not an SQL command at all; it is a distractor built from ordinary English. The DELETE against TRUNCATE difference is a favourite one-mark question.
Read the full article: Databases and DBMS: Models, Keys, SQL and Normalisation
Practice Questions
View allWhich of the following is the oldest database model?
- A.Hierarchical
- B.Object oriented
- C.Deductive
- D.Relational
Show answer
The hierarchical model is the first data model used in commercial database software; IBM built its Information Management System on it in the 1960s for the Apollo programme.
Read the full explanation →Who proposed the relational model of databases?
- A.Charles Babbage
- B.Edgar Frank Codd
- C.Dennis Ritchie
- D.James Gosling
Show answer
Codd, a British computer scientist working at IBM, set out the relational model in a paper published in 1970, proposing that all data be held in simple two-dimensional tables and joined by matching values rather than by fixed pointers.
Read the full explanation →In relational database terminology, a row of a table is called a:
- A.Attribute
- B.Domain
- C.Tuple
- D.Relation
Show answer
In the vocabulary of the relational model a table is a relation, and one complete horizontal entry of that table, such as all the details of a single student, is a tuple; the ordinary words for it are row and record.
Read the full explanation →Which of the following is a Data Definition Language (DDL) command in SQL?
- A.INSERT
- B.CREATE
- C.SELECT
- D.UPDATE
Show answer
The Data Definition Language deals with the structure of the database rather than with the data inside it, and CREATE is its basic command, used to build a table, a view or the database itself; ALTER, DROP, TRUNCATE and RENAME belong to the same group.
Read the full explanation →Which key uniquely identifies each record in a table and can never contain a null value?
- A.Foreign key
- B.Alternate key
- C.Primary key
- D.Super key
Show answer
The designer picks one candidate key as the primary key of a table, and the database then enforces two rules on it: its value must be different in every row, and it can never be left null, since a missing value would make a row impossible to identify.
Read the full explanation →