1. 程式人生 > >MySQL表資料的增刪改查

MySQL表資料的增刪改查

mysql入門(三)

查詢:

1)、查詢所有行

命令: select <欄位1,欄位2,...> from < 表名 > where < 表示式 >

例如:查看錶MyClass 中所有資料

   mysql> select * from MyClass;

2)、查詢前幾行資料

例如:查看錶MyClass 中前2行資料

mysql> select * from MyClass order by id limit 0,2;

select一般配合where使用,以查詢更精確更復雜的資料。

3)、一使用SELECT子句進行多表查詢

SELECT欄位名 FROM 表1,表2 … WHERE 表1.欄位 = 表2.欄位 AND 其它查詢條件

例如:

SELECT a.name,a.address,b.math,b.english,b.chinese

FROM tb_demo01 AS b,tb_demo02 AS a

WHERE a.id=b.id

修改:

語法:update 表名 set 欄位=新值,… where 條件

   mysql> update MyClass set name='Mary' where id=1;

例子1:單表的MySQL UPDATE語句:

   UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SETcol_name1=expr1 [, col_name2=expr2 ...] [WHEREwhere_definition] [ORDER BY ...] [LIMIT row_count]

例子2:多表的UPDATE語句:

UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHEREwhere_definition]

UPDATE語法可以用新值更新原有錶行中的各列。SET子句指示要修改哪些列和要給予哪些值。WHERE子句指定應更新哪些行。如果沒有WHERE子句,則更新所有的行。如果指定了ORDER BY子句,則按照被指定的順序對行進行更新。LIMIT子句用於給定一個限值,限制可以被更新的行的數目。

插入:

INSERT[LOW_PRIORITY |DELAYED| HIGH_PRIORITY]

[IGNORE]

    [INTO]tbl_name [(col_name,...)]

    VALUES({expr |DEFAULT},...),(...),...

[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT[LOW_PRIORITY |DELAYED| HIGH_PRIORITY][IGNORE]

    [INTO] tbl_name

SETcol_name={expr|DEFAULT}, ...

[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE]

    [INTO]tbl_name [(col_name,...)]

    SELECT ...

[ ONDUPLICATE KEY UPDATE col_name=expr, ... ]


刪除:

單表語法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name 

[WHERE where_definition]  

[ORDER BY ...]  

[LIMIT row_count] 

多表語法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] 

tbl_name[.*] [, tbl_name[.*] ...] 

FROM table_references  

[WHERE where_definition] 

或:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] 

FROM tbl_name[.*] [, tbl_name[.*] ...] 

USING table_references  

[WHERE where_definition]