Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL 表操作{创建|查询|修改|删除}

WBOY
Freigeben: 2016-06-07 17:04:55
Original
816 Leute haben es durchsucht

什么是表? 表:table 逻辑上 每一个表在数据库中包含了行和列表可以为0行 但至少要有一列 表同样支持索引的查询 物理

什么是表

表:table

      逻辑上 每一个表在数据库中包含了行和列
表可以为0行 但至少要有一列 表同样支持索引的查询
      物理上 每个表由一个或多个文件在磁盘上保存
每一个表的存储 在数据库中目录中都有对应的文件系统格式
表空间:比表大而比数据库小的物理单位

创建表:
help CREATE TABLE
  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (     // 新建一个表
    (create_definition,...)
    [table_option]...
); 
  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (    // 选择已知表的字段并创建
     [(create_definition,...)] 
    [table_option] ...
SELECT [select_statement] 
  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (    // 参照已知表进行创建
  { LIKE old_tbl_name | (LIKE old_tbl_name)}                                    字段与字段间用 , 隔开 

查看如何创建:
  SHOW CREATE TABLE tbl_name;
---------------------------------------------------------------------------
e.g.
CREATE TABLE employee (
     id INT NOT NULL, 
     last_name CHAR(30) NOT NULL, 
     first_name CHAR(30) NOT NULL, 
     UNIQUE (id), 
     INDEX (last_name, first_name) 
); 
CREATE TABLE ... SELECT can create a table that is empty or non-empty, depending on what is returned by the SELECT part
CREATE TABLE ... LIKE creates an empty table using the definition of another existing table 
CREATE TABLE tbl_name (
 ID INT UNSIGNED AUTO_INCREMENT NOT NULL, 

---------------------------------------------------------------------------


内置了N多的函数 增加使用效果
参照 MYSQL 官方手册 
聚合函数
COUNT(*), MAX(), MIN(), AVG(), SUM()
除了函数 还可以使用变量
SET @num=10 // 设置变量为10
应用声明要使用@
===========================================================================
修改表结构:
ALTER TABLE t1 CHANGE a b INTERGER;               // 把一个INTERGER列的名称从a变到b
ALTER TABLE t1 MODIFY b b BIGINIT NOU NULL   // 修改类型 修改定义和位置 而不改变字段名
可以使用FIRST或AFTER col_name在一个表行中的某个特定位置添加列。默认把列添加到最后。您也可以在CHANGE或MODIFY语句中使用FIRST和AFTER
---------------------------------------------------------------------------
ALTER TABLE tbl_name MODIFY col_name col_definition 改变位置
ALTER TABLE tbl_name CHANGE col_name col_definition
---------------------------------------------------------------------------
添加一个新字段
ADD {FIRST | AFTER} col_name col_definition

添加索引:
ADD {INDEX|KEY} [index_name] [index_type] (col..)
index_type: BTREE、HASH、RTREE、FULLTEXT

删除格式:
DROP col_name;                              //删除字段
DROP PRIMARY KEY;                      // 删除主键 

DROP {INDEX|KEY} index_name; //



INSERT 还支持一次插入多行

修改数据 : DML
UPDATE table_name SET col1=val1[, ...] [WHERE clause]  //需要指定条件 否则更新所有列
e.g. UPDATE knight SET AGE=18 WHERE UID=1

help TRUNCATE;
SELECT LAST_INSERT_ID();       //记录最后的ID 行
TRUNCATE TABLE table_name; // 清空表中的所有数据 并重1开始计数
---------------------------------------------------------------------------
多表查询

两张表如何组织起来:
JOIN, 连接 基于某种方式 把表组合起来

连接的种类:
1.交叉连接,CROSS JOIN 笛卡尔乘积  // 一般很少用 但是适用所有情况 在内存中临时存储 在 磁盘上存储 结果 所以是非常非常的慢
2.内连,,INNER JOIN 对称连接
             基于等值条件 左右表同时出现 且值相等
             如果字段名字相同 就要引用表前缀 table_name.col_name
3.外连接 OUTER JOIN
            左外连接 LEFT JOIN ON 
            左边有 右边显示NULL       // 左表显示的有的全显示 右边有的显示 没有的显示NULL
            右外连接 RIGHT JOIN [ON] on 指条件
            左边NULL 右边显示
            全外连接 FULL JOIN 
            都显示出来 左表有的右表没有 右表有的左表没
4.自连接 SELF JOIN 自己与自己相连接
5.UNION 结果组合连接起来
           将两个表的查询结果合成一个

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!