一 .数据表(table)
1.数据表操作
创建表:
语法: create table 表名( 字段名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 | 板砖 |
+------+--------+------+------+-------------+--------------+