表 - 增删改查

表得增删改查:
1.表介绍:

                    

 

        id,name,age,sex称为字段,其他的,一行内容称为一条记录。    2.建立表:        语法:            create table 表名(            字段名1 类型[(宽度) 约束条件],            字段名2 类型[(宽度) 约束条件],            字段名3 类型[(宽度) 约束条件]            );            #注意:            1. 在同一张表中,字段名是不能相同            2. 宽度和约束条件可选            3. 字段名和类型是必须的        示范:            create database db1 charset utf8;            use db1;            create table t1(                id int,                name varchar(50),                sex enum('male','female'),                age int(3)             );            show tables; #查看db1库下全部表名            desc t1;            select id,name,sex,age from t1;            select * from t1;            select id,name from t1;            insert into t1 values            (1,'egon','male',18),            (2,'alex','female',20)            ;            insert into t1(id) values            (4),            (5);            mysql> select *  from t1;            +------+------+--------+------+            | id   | name | sex    | age  |            +------+------+--------+------+            |    1 | egon | male   |   18 |            |    2 | alex | female |   20 |            |    4 | NULL | NULL   | NULL |            |    5 | NULL | NULL   | NULL |            +------+------+--------+------+            注意:表中的最后一个字段不要加逗号    3.查看表结构:        [db1]> describe t1; #查看表结构,可简写为desc 表名        +-------+-----------------------+------+-----+---------+-------+        | 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    |       |        +-------+-----------------------+------+-----+---------+-------+        [db1]> show create table t1\G; #查看表详细结构,可加\G    4.修改表结构:        语法:            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 旧字段名 新字段名 新数据类型 [完整性约束条件…];        示范:            1. 修改存储引擎                mysql> alter table service                    -> engine=innodb;            2. 添加字段                mysql> alter table student10                    -> add name varchar(20) not null,                    -> add age int(3) not null default 22;                mysql> alter table student10                    -> add stu_num varchar(10) not null after name;                //添加name字段以后                mysql> alter table student10                    -> add sex enum('male','female') default 'male' first;          //添加到最前面            3. 删除字段                mysql> alter table student10                    -> drop sex;                mysql> alter table service                    -> drop mac;            4. 修改字段类型modify                mysql> alter table student10                    -> modify age int(3);                mysql> alter table student10                    -> modify id int(11) not null primary key auto_increment;    //修改成主键            5. 增长约束(针对已有的主键增长auto_increment)                mysql> alter table student10 modify id int(11) not null primary key auto_increment;                ERROR 1068 (42000): Multiple primary key defined                mysql> alter table student10 modify id int(11) not null auto_increment;                Query OK, 0 rows affected (0.01 sec)                Records: 0  Duplicates: 0  Warnings: 0            6. 对已经存在的表增长复合主键                mysql> alter table service2                    -> add primary key(host_ip,port);            7. 增长主键                mysql> alter table student1                    -> modify name varchar(10) not null primary key;            8. 增长主键和自动增加                mysql> alter table student1                    -> modify id int not null primary key auto_increment;            9. 删除主键                a. 删除自增约束                mysql> alter table student10 modify id int(11) not null;                b. 删除主键                mysql> alter table student10                    -> drop primary key;    5.复制表:        1.复制表结构+记录 (key不会复制: 主键、外键和索引)            mysql> create table new_service select * from service;        2.只复制表结构            mysql> select * from service where 1=2;        //条件为假,查不到任何记录                Empty set (0.00 sec)            mysql> create table new1_service select * from service where 1=2;  #(key不会复制: 主键、外键和索引)                Query OK, 0 rows affected (0.00 sec)                Records: 0  Duplicates: 0  Warnings: 0            mysql> create table t4 like employees;   # 只复制表结构,连同主键会一块儿复制 ...    6.删除表:        DROP TABLE 表名;        drop table t1;        drop table t1,t2;
相关文章
相关标签/搜索