king

mysql快速学习插入数据篇(七)

king Mysql 2018-05-21 2139浏览 0

MySQL 插入数据篇


1.向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name (field1, field2,...fieldN )
VALUES
( value1,value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"

w3cschool_tbl表插入一条数据:

mysql> INSERT INTOw3cschool_tbl
->(w3cschool_title, w3cschool_author,submission_date)
->VALUES
->("Learn PHP", "JohnPoul", NOW());

(->)不是SQL语句的一部分,它仅表示一个新行,如SQL语句太长,可通过回车键创建一个新行编写SQL语句,SQL语句的命令结束符为分号(;)。

2.使用PHP脚本插入数据

$sql = "INSERT INTO w3cschool_tbl ".
"(w3cschool_title,w3cschool_author,submission_date) ".
"VALUES ".
"('$w3cschool_title','$w3cschool_author','$submission_date')";

MySQL 查询数据

1.为在MySQL数据库中查询数据通用的 SELECT语法:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]

可以通过SELECT 命令读取一条或者多条记录。

可以通过OFFSET指定SELECT语句开始查询的数据偏移量默认情况下偏移量为0

可以使用 LIMIT 属性来设定返回的记录数。

你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

mysql> SELECT * from w3cschool_tbl


2
.使用PHP脚本来获取数据

使用PHP函数的mysql_query()SQL SELECT命令来获取数据。
该函数用于执行SQL命令,然后通过 PHP 函数 mysql_fetch_array() 来使用或输出所有查询的数据。

尝试以下实例来显示数据表w3cschool_tbl 的所有记录

$sql = 'SELECT w3cschool_id,w3cschool_title,
w3cschool_author,submission_date
FROM w3cschool_tbl';
mysql_select_db('W3CSCHOOL');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' .mysql_error());
}
while($row =mysql_fetch_array($retval, MYSQL_ASSOC))
while($row =mysql_fetch_assoc($retval))

MYSQL_NUM参数显示数据表

while($row =mysql_fetch_array($retval, MYSQL_NUM))

MYSQL_NUM参数显示数据表

{
echo "Tutorial ID:{$row['w3cschool_id']} <br>".
"Title:{$row['w3cschool_title']} <br> ".
"Author:{$row['w3cschool_author']} <br> ".
"Submission Date : {$row['submission_date']}<br> ".
"--------------------------------<br>";
}
mysql_free_result($retval);
释放游标内存
echo "Fetched data successfully\n";
mysql_close($conn);


MYSQL_ASSOC
设置该参数查询结果返回关联数组,你可以使用字段名称来作为数组的索引。

MySQL 选择数据

1.从MySQL表中使用SQL SELECT语句来读取数据。

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中
以下是SQL SELECT语句使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT field1,field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND[OR]] condition2.....

WHERE子句也可以运用于SQL DELETE 或者 UPDATE 命令。
使用 LIKE 来比较字符串,否则MySQLWHERE子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定WHERE子句的字符串比较是区分大小写的。

2.使用PHP脚本读取数据

使用PHP函数的mysql_query()及相同的SQL SELECT 带上 WHERE 子句的命令来获取数据。该函数用于执行SQL命令,然后通过 mysql_fetch_array() 来输出所有查询的数据。

$sql = 'SELECT w3cschool_id,w3cschool_title,
w3cschool_author, submission_date
FROM w3cschool_tbl
WHEREw3cschool_author="Sanjay"';

MySQL UPDATE

1.修改或更新MySQL中的数据,我们可以使用SQL UPDATE 命令来操作。

通用SQL语法:

UPDATE table_name SET field1=new-value1, field2=new-value2

[WHERE Clause]

更新数据表中 w3cschool_id 3 w3cschool_title 字段值:

mysql>UPDATE w3cschool_tbl
-> SET w3cschool_title='Learning JAVA'
- > WHERE w3cschool_id=3;

使用PHP脚本更新数据

$sql = 'UPDATE w3cschool_tbl
SETw3cschool_title="Learning JAVA"
WHERE w3cschool_id=3';

MySQL DELETE

2DELETE FROM table_name[WHERE Clause

如果没有指定 WHERE 子句,MySQL表中的所有记录将被删除。

可以在 WHERE 子句中指定任何条件

删除w3cschool_tbl 表中 w3cschool_id 3 的记录

mysql> DELETE FROMw3cschool_tbl WHERE w3cschool_id=3;

PHP 脚本删除数据

$sql = 'DELETE FROMw3cschool_tbl
WHERE w3cschool_id=3';

MySQL LIKE 子句

QL LIKE 子句中使用百分号(%)字符来表示任意字符

没有使用百分号(%),LIKE 子句与等号(=)的效果是一样的。
3
QL SELECT语句使用 LIKE子句从数据表中读取数据的通用语法:
SELECT field1,field2,...fieldN table_name1, table_name2...
WHERE field1 LIKEcondition1 [AND [OR]] filed2 = 'somevalue'
LIKE
通常与 % 一同使用,类似于一个元字符的搜索


PHP脚本中使用 LIKE 子句

$sql = 'SELECTw3cschool_id, w3cschool_title,
w3cschool_author,submission_date
FROM w3cschool_tbl
WHERE w3cschool_author LIKE"%jay%"';

MySQL 排序

SELECT field1,field2,...fieldN table_name1, table_name2...

ORDER BY field1,[field2...] [ASC [DESC]]

ASC DESC 关键字来设置查询结果是按升序或降序排列。默认情况下,它是按升排列。

MySQL 分组

SELECT column_name,function(column_name)
FROM table_name
WHERE column_nameoperator value
GROUP BY column_name;

WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。

coalesce 来设置一个可以取代NUll 的名称,coalesce 语法:

select coalesce(a,b,c);

参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。

mysql> SELECTcoalesce(name, '总数'), SUM(singin) as singin_countFROM employee_tbl GROUP BY name WITHROLLUP;

+--------------------------+--------------+

| coalesce(name, '总数') | singin_count |

+--------------------------+--------------+

| 小丽 | 2 |

| 小明 | 7 |

| 小王 | 7 |

| 总数 | 16 |

+--------------------------+--------------+


继续浏览有关 mysql 的文章
发表评论