mysql三:表操作

一、存储引擎介绍

  存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制。

  详见:点击查看

二、表的介绍

  表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

    

  id,name,qq,age称为字段,其余的,一行内容称为一条记录。

三、创建表
#语法:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);

#注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的
mysql> create  database db2 charset utf8; 
Query OK, 1 row affected (0.01 sec)

mysql> use db2
Database changed
mysql> create table t1(
    -> id int,
    -> name varchar(50),
    -> sex enum('male', 'female'),
    -> age int(3)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+---------------+
| Tables_in_db2 |
+---------------+
| t1            |
+---------------+
1 row in set (0.00 sec)

mysql> desc t1;
+-------+-----------------------+------+-----+---------+-------+
| Field | Type                  | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id    | int(11)               | YES  |     | NULL    |       |
| name  | varchar(50)           | YES  |     | NULL    |       |
| sex   | enum('male','female') | YES  |     | NULL    |       |
| age   | int(3)                | YES  |     | NULL    |       |
+-------+-----------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

mysql> select id,name,sex,age from t1;
Empty set (0.00 sec)

mysql> select * from t1;
Empty set (0.00 sec)
创表示例
mysql> insert into t1 values (1,'egon','male',18), (2,'alex','female',81);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from t1;
+------+------+--------+------+
| id   | name | sex    | age  |
+------+------+--------+------+
|    1 | egon | male   |   18 |
|    2 | alex | female |   81 |
+------+------+--------+------+
2 rows in set (0.00 sec)

mysql> insert into t1(id) values
    -> (3),
    -> (4);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from t1;
+------+------+--------+------+
| id   | name | sex    | age  |
+------+------+--------+------+
|    1 | egon | male   |   18 |
|    2 | alex | female |   81 |
|    3 | NULL | NULL   | NULL |
|    4 | NULL | NULL   | NULL |
+------+------+--------+------+
4 rows in set (0.00 sec)
往表中插入数据

  特别需要注意的是,字段匹配顺序和表中最后一个字段不能加逗号。

四、查看表结构
mysql> describe t1;
+-------+-----------------------+------+-----+---------+-------+
| Field | Type                  | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id    | int(11)               | YES  |     | NULL    |       |
| name  | varchar(50)           | YES  |     | NULL    |       |
| sex   | enum('male','female') | YES  |     | NULL    |       |
| age   | int(3)                | YES  |     | NULL    |       |
+-------+-----------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> show create table t1\G;  # 查看表结构详细结构,可以添加\G

  类似的show create table mysql.user\G; 执行查看,可以解决在屏幕比较小时,“----”显示混乱的问题。

五、修改表结构
语法:
1. 修改表名
      ALTER TABLE 表名 
                          RENAME 新表名;

2. 增加字段
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…],    # 添加多个字段
                          ADD 字段名  数据类型 [完整性约束条件…];
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…]  FIRST;   # 添加新字段到第一个
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;   # 添加新字段到指定字段之后

3. 删除字段
      ALTER TABLE 表名 
                          DROP 字段名;

4. 修改字段————主要针对字段类型和字段名称
      ALTER TABLE 表名 
                          MODIFY  字段名 数据类型 [完整性约束条件…];    # 修改字段类型
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];    # 修改字段名称
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

猜你喜欢

转载自www.cnblogs.com/xiugeng/p/9016645.html