MySQL DELETE 语句
你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。
你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令。
语法
以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:
DELETE FROM table_name [WHERE Clause]
- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
- 你可以在 WHERE 子句中指定任何条件。
- 您可以在单个表中一次性删除记录。
当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。
从命令行中删除数据
这里我们将在 SQL DELETE 命令中使用 WHERE 子句来删除 MySQL 数据表 runoob_tbl 所选的数据。
实例
以下实例将删除 runoob_tbl 表中 runoob_id 为3 的记录:
mysql> use RUNOOB;
Database changed
mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;
Query OK, 1 row affected (0.23 sec)
delete 语句用于删除表中的数据, 基本用法为:
delete from 表名称 where 删除条件;
以下是在表 students 中的实例:
删除 id 为 3 的行: delete from students where id=3;
删除所有年龄小于 21 岁的数据: delete from students where age<20;
删除表中的所有数据: delete from students;
delete,drop,truncate 都有删除表的作用,区别在于:
- 1、delete 和 truncate 仅仅删除表数据,truncate摧毁表格之后在重建表结构,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。
- 2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。
- 3、执行的速度上,drop>truncate>delete,打个比方,drop 是神舟火箭,truncate 是和谐号动车,delete 是自行车。
MySQL 查询数据 select语句
MySQL 数据库使用SQL SELECT语句来查询数据
语法
以下为在MySQL数据库中查询数据通用的 SELECT 语法:
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N]
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据。
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。默认情况下偏移量为0。
通过命令提示符获取数据
以下实例我们将通过 SQL SELECT 命令来获取 MySQL 数据表 runoob_tbl 的数据:
实例
以下实例将返回数据表 runoob_tbl 的所有记录:
select * from student;
输出结果:
+------+------+---------+---------+-------+
| id | name | chinese | english | math |
+------+------+---------+---------+-------+
| 1 | zs | 90.00 | 85.00 | 75.00 |
| 2 | lk | 80.00 | 95.00 | 85.00 |
| 3 | lsd | 84.00 | 93.00 | 85.00 |
| 4 | edls | 83.00 | 95.00 | 86.00 |
+------+------+---------+---------+-------+
4 rows in set (0.00 sec)
语法操作小结
select _column,_column from _table [where Clause] [limit N]
- select * : 返回所有记录。
- limit N: 返回 N 条记录。
- limit N,M :从第 N 条记录开始, 返回 M 条记录。
MySQL limit 应用的一些例子。
语法格式:
mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n。
解析:
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。
Mysql 简单查询语句,可以通过不同的查询语句进行套用
/*tablename 表名 NAME alexa url country 字段*/
SELECT * FROM tablename; /* 查询表所有数据 */
SELECT NAME FROM tablename; /* 查询表字段数据 */
select 字段 表达式 from table; /* 查询表字段通过表达式计算后数据 */
SELECT * FROM tablename where name = "广西"; /* 查询表字段下条件数据 */
SELECT * from tablename where name like "_o%"; /* 模糊查询表下数据 */
SELECT * FROM tablename where id BETWEEN "1" AND "5"; /* 查询表下字段范围数据 */
SELECT * FROM tablename WHERE name in ("广西","百度"); /* 查询表字段下固定条件数据 */
SELECT DISTINCT country FROM tablename; /* 查询去重值 */
SELECT * FROM tablename WHERE country = "CN" AND alexa > 50; /*查询表下范围条件数据*/
SELECT * FROM tablename WHERE country = "USA" OR country="sh"; /* 查询表下条件不同值 */
SELECT * FROM tablename ORDER BY alexa; /* 查询表下值排序结果 */
SELECT * FROM Websites ORDER BY alexa DESC; /* 查询表下排序结果降序 */
SELECT * FROM tablename LIMIT 2; /* 查询表下范围数据 */
SELECT name as zzz from tablename; /*别名查询表下数据*/