当前位置: 澳门新濠3559 > 数据库 > 正文

SQL语言是高级的结构化查询语言,在MySQL中删除一

时间:2019-11-09 00:17来源:数据库
数据操作语言(DML)主要表现为对数据的追加,更新查询; 事务控制语言(TCL)、数据控制语言(DCL)。 4)当表中的数据比较多时,删除全表数据建议使用TRUNCATETABLE,TRUNCATETABLE通过

  数据操作语言(DML)主要表现为对数据的追加,更新查询;

事务控制语言(TCL)、数据控制语言(DCL)。

  4)当表中的数据比较多时,删除全表数据建议使用TRUNCATE TABLE,TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放,而DELETE FROM则是将数据一行一行的删除,每删除一行,还要在事务日志中为所删除的行记录一项,贼慢。

二、数据操纵语言(DML)

  1、INSERT

    INSERT命令用于向表中添加数据,格式为:INSERT INTO table(column[,column]) VALUES (value,[value]);,其中,table为表名,

    column为列名,value为值,值与列要对应,列名可不写,不写默认按照表中列的顺序添加值。

  2、DELETE

    DELETE命令用于删除表中的数据,格式为:DELETE table [WHERE 条件];,WHERE后面为条件,可以有多个。DELETE与TRUNCATE命令的

    区别:DELETE命令可根据条件删除数据,删除数据会记录日志,TRUNCATE命令删除全表数据,删除数据不会记录日志,因而,在删除全表数据

    时,TRUNCATE命令速度较快,更节省资源,但是,因为不记录日志,删除的数据无法找回,使用需谨慎。

  3、UPDATE

    UPDTE命令用于修改表中的数据,格式为:UPDATE table SET column=value[,column=value] [WHERE 条件];。

  4、SELECT

    SELECT命令用于查询表中的数据,格式为:SELECT column[,column] FROM table [WHERE 条件];

  事务控制语言(TCL)主要表现为设置保存点(SAVEPOINT),回滚(ROLLBACK),提交(COMMIT)。

一、数据定义语言(DDL)

  1、CREATE

    CREATE命令用于创建模式对象,如创建表的格式为:CREATE TABLE [schema.]table (column datatype [, column datatype]);,其中,

    schema是对象的持有者,即用户对应的模式,如果在用户自己的模式中创建则可以不指定,table是表名,column是列名,datatype是数据类型。

  2、ALTER

    ALTER命令用于更改模式对象,如更改表的格式为:ALTER TABLE [schema.]table add (column datatype [, column datatype]);,

    关键字的意义与CREATE命令相同。

  3、DROP

    DROP命令用于删除模式对象,如删除表的格式为:DROP TABLE table;。

  4、TRUNCATE

    TRUNCATE命令用于截断表的内容,格式为:TRUNCATE TABLE table;。(TRUNCATE命令与DELETE命令的区别在介绍DELETE命令时说明)。

  5)TRUNCATE TABLE删除后无法ROLLBACK,原因:TRUNCATE是一个DDL语句,将被隐式提交,不能使用ROLLBACK命令,而DELETE是DML语句,可以ROLLBACK(前提是DELETE操作没有COMMIT)

四、数据控制语言(DCL)

  1、GRANT

    GRANT命令用于授予用户某种权限或角色,格式为:GRANT 权限|角色 TO 用户名;,GRANT命令将使用户具有某种权限或角色。

  2、REVOKE

    REVOKE命令用于撤销用户的某种权限或角色,格式为:REVOKE 权限|角色 FROM 用户名;,REVOKE命令将使用户不再具有某种权限或角色。

DELETE FROM table_name WHERE column_name = some_value

澳门新濠3559,三、事务控制语言(TCL)

  1、COMMIT

    COMMIT命令用于提交事务,格式为:COMMIT;,提交事务会把对数据库的修改永久保存。

  2、SAVEPOINT

    SAVEPOINT命令用于设置保存点,格式为:SAVEPOINT <Savepoint_name>;,其中Savepoint_name是保存点的名字。

  3、ROLLBACK

    ROLLBACK命令用于回滚事务,格式为:ROLLBACK [TO <Savepoint_name>];,不写保存点的名字会回滚整个事务,写了会回滚到保存点,

    回滚会把对数据库的修改撤销。

  (事务控制语言详细请查看)

  语法:

SQL语言是高级的结构化查询语言,大大减轻了用户的负担。目前查询语言分为四种,数据定义语言(DDL)、数据操纵语言(DML)、

  删除表中的所有行,而不记录单个行删除操作。

   总结:

  TRUNCATE TABLE TABLENAME

  语法:

  数据定义语言(DDL)主要表现为创建删除表,创建索引等;

  3)如果一个表中有自增的字段,这时使用DELETE和TRUNCATE删除表中所有数据时,如果表中有自增字段,则自增字段将起始值恢复为1,如果不想恢复,则可以在DELETE时加上WHERE的永真条件,使用DELETE FROM TABLENAME WHERE 1即可,但在这样做时会有一些缺点,即扫描表中的每一行记录,所以虽然可以保持自增的最大值,但他的执行成本要比没有WHERE条件的DELETE以及TRUNCATE大得多的多。

注:SQL语言包括四种主要程序设计语言类别的语句:

  大家都知道,在MySQL中删除一个表中的记录有两种方法,一种是DELETE FROM TABLENAME WHERE... , 还有一种是TRUNCATE TABLE TABLENAME。

TRUNCATE TABLE TABLENAME

  2)如果DELETE FROM 不加WHERE条件,那么他和TRUNCATE TABLE 是一样的,唯一的区别就是DELETE FROM删除后返回被删除的记录数,而TRUNCATE TABLE返回的是0。

  DELETE FROM

  区别:

  从 MySQL 数据表中删除数据,如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。可以在 WHERE 子句中指定任何条件。

  数据控制语言(DCL)主要表现为授权(GRANT),撤销授权(REVOKE),拒绝授权(DENY);

  DELETE可以通过WHERE语句选择要删除的记录,但执行得速度不快,可以返回被删除的记录数,在未提交情况下可以回滚。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。

  1)DELETE FROM语句可以使用WHERE 对要删除的记录进行选择,TRUNCATE TABLE 将删除表中的所有记录,so,DELETE FROM更灵活。

编辑:数据库 本文来源:SQL语言是高级的结构化查询语言,在MySQL中删除一

关键词: