三 .数据库(表操作)

一 .数据表(table)

1.数据表操作

 创建表:

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

注意:
  1. 在同一张表中,字段名是不能相同
  2. 宽度和约束条件可选
  3. 字段名和类型是必须的

 2. 建表

 show tables  查看所有数据表

 show create table (数据库表名)info1;            查看数据表的建表语句 

use db1; 切换数据库 Database changed mysql
> create table info1(id int ,name varchar(20),age int(5),sex enum('male','female'),phone bigint(11),job varchar(55)); 创建数据表

mysql> desc info1; 查看表结构

+-------+-----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
| sex | enum('male','female') | YES | | NULL | |
| phone | bigint(11) | YES | | NULL | |
| job | varchar(55) | YES | | NULL | |
+-------+-----------------------+------+-----+---------+-------+

mysql> insert into info1(id,name,age,sex,phone,job)values(1,"张三",8,"男",17380117935,'python工程师');    插入数据

mysql> insert into info1(id,name,age,sex,phone,job)values(3,"王五",22,"male",555555,"模特");

 

mysql> select * from info1;           查看数据表

 

+------+--------+------+------+-------------+--------------+
| id | name | age | sex | phone | job |
+------+--------+------+------+-------------+--------------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 |
| 3 | 王五 | 22 | male | 555555 | 模特 |
+------+--------+------+------+-------------+--------------+

3. 数据表的增删改查


mysql> select * from info1;
+------+--------+------+------+-------------+--------------+
| id | name | age | sex | phone | job |
+------+--------+------+------+-------------+--------------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 |
| 3 | 王五 | 22 | male | 555555 | 模特 |
| 4 | lover | 8 | male | 5555555 | 板砖 |
+------+--------+------+------+-------------+--------------+



删除表:
drop table (数据库表名)info1;


修改表:

alter table (数据库表名)info1;                                  可以修改默认引擎 和字符集
 
alter table (数据库表名)info1 engine=innodb;                    可以修改默认引擎 和字符集

 
alter table info1 charset=utf8;                               可以修改默认引擎 和字符集

rename table (旧数据库表名1)info1 to (新数据库表名1)student2;     修改数据表名

 

  对字段操作:

        创建字段在创建数据表时进行 ,在已经拥有了表名之后 还可以对字段进行操作

create table 表名(字段名 字段类型 字段属性,字段名2 字段类型 字段属性,.......);
create table 表名(id int,username varchar(20),age int);
create table classes(id int,clsaaname varchar(10),classroom varchar(3));
create table hello(id int,clsaaname varchar(10),classroom varchar(3));

 

 增加新字段
         alter table (数据库表名)info1  add column(行) gender(性别) varchar(4);   意思在info1数据表中新增 gender字段
         alter table info1 add column gender varchar(2);

mysql> select * from info1;
+------+--------+------+------+-------------+--------------+--------+
| id | name | age | sex | phone | job | gender |
+------+--------+------+------+-------------+--------------+--------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 | NULL |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 | NULL |
| 3 | 王五 | 22 | male | 555555 | 模特 | NULL |
| 4 | lover | 8 | male | 5555555 | 板砖 | NULL |
+------+--------+------+------+-------------+--------------+--------+

 

 

 修改字段类型和属性( modify 修改)


    alter table student(数据表名) modify column gender(性别) varchar(10);修改gender字段定义


    alter table info1 modify column gender varchar(10);

mysql> select * from info1;
+------+--------+------+------+-------------+--------------+--------+
| id | name | age | sex | phone | job | gender |
+------+--------+------+------+-------------+--------------+--------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 | NULL |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 | NULL |
| 3 | 王五 | 22 | male | 555555 | 模特 | NULL |
| 4 | lover | 8 | male | 5555555 | 板砖 | NULL |
+------+--------+------+------+-------------+--------------+--------+

 

 

 修改字段名字

    alter table info1 change column gender sex varchar(2);

+------+--------+------+------+-------------+--------------+------+
| id | name | age | sex | phone | job | work |
+------+--------+------+------+-------------+--------------+------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 | NULL |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 | NULL |
| 3 | 王五 | 22 | male | 555555 | 模特 | NULL |
| 4 | lover | 8 | male | 5555555 | 板砖 | NULL |
+------+--------+------+------+-------------+--------------+------+



 删除字段

   alter table info1 drop column gender;

mysql> select * from info1;
+------+--------+------+------+-------------+--------------+
| id | name | age | sex | phone | job |
+------+--------+------+------+-------------+--------------+
| 1 | 张三 | 8 | male | 17380117935 | python工程师 |
| 2 | 刘亦菲 | 6 | male | 1111111 | H5工程师 |
| 3 | 王五 | 22 | male | 555555 | 模特 |
| 4 | lover | 8 | male | 5555555 | 板砖 |
+------+--------+------+------+-------------+--------------+

 

posted @ 2019-07-22 14:07  supreme9999  阅读(338)  评论(0编辑  收藏  举报