MySQL-----表的操作

1.创建表

语法:

复制代码
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

----创建案例
mysql> create table if not exists user(
    -> id int primary key,
    -> name varchar(10) comment "这是姓名",
    -> pssword varchar(100) comment "这是密码",
    -> bithyday date comment "生日")character set utf8mb4 ENGINE InnoDB ;
Query OK, 0 rows affected (0.19 sec)

2.查看表结构

复制代码
desc 表名;

mysql> desc user;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| name     | varchar(10)  | YES  |     | NULL    |       |
| pssword  | varchar(100) | YES  |     | NULL    |       |
| bithyday | date         | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

3.修改表

复制代码
语法:
ALTER TABLE  tablename ADD (column datatype [DEFAULT expr][,column 
datatype]...);

 ALTER TABLE  tablename MODIfy (column datatype [DEFAULT expr][,column 
datatype]...);

 ALTER TABLE  tablename DROP (column);

--在user表添加二条记录

复制代码
mysql> insert into user(id,name,pssword,bithyday) values(1,"熊明","213adad","1999-1-2")
Query OK, 1 row affected (0.00 sec)
mysql> insert into user(id,name,pssword,bithyday) values(2,"熊哈","24234fsdsgds","1999--1-3");
Query OK, 1 row affected (0.01 sec)

--查看插入数据
mysql> select * from user;
+----+--------+--------------+------------+
| id | name   | pssword      | bithyday   |
+----+--------+--------------+------------+
|  1 | 熊明   | 213adad      | 1999-01-02 |
|  2 | 熊哈   | 24234fsdsgds | 1999-01-03 |
+----+--------+--------------+------------+
2 rows in set (0.00 sec)

修改name,将其长度改成60

复制代码
mysql> alter table  user modify name varchar(666);
Query OK, 2 rows affected (0.38 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> desc user;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| name     | varchar(666) | YES  |     | NULL    |       |
| pssword  | varchar(100) | YES  |     | NULL    |       |
| bithyday | date         | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

在user表添加一个字段,用于保存图片路径

复制代码
mysql> alter table user add assert varchar(99) comment"这是路劲";
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc user;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| name     | varchar(666) | YES  |     | NULL    |       |
| pssword  | varchar(100) | YES  |     | NULL    |       |
| bithyday | date         | YES  |     | NULL    |       |
| assert   | varchar(99)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

--查看增加字段对数据有没有影响
mysql> select * from user;
+----+--------+--------------+------------+--------+
| id | name   | pssword      | bithyday   | assert |
+----+--------+--------------+------------+--------+
|  1 | 熊明   | 213adad      | 1999-01-02 | NULL   |
|  2 | 熊哈   | 24234fsdsgds | 1999-01-03 | NULL   |
+----+--------+--------------+------------+--------+
2 rows in set (0.00 sec)

删除password列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

复制代码
mysql> alter table user drop pssword;
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc user;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| name     | varchar(666) | YES  |     | NULL    |       |
| bithyday | date         | YES  |     | NULL    |       |
| assert   | varchar(99)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

修改表名为employee

复制代码
mysql> alter table user rename employee;
// alter table user rename to employee;  to可以省略
Query OK, 0 rows affected (0.15 sec)

mysql> desc employee;
mysql> select * from employee;
+----+--------+------------+--------+
| id | name   | bithyday   | assert |
+----+--------+------------+--------+
|  1 | 熊明   | 1999-01-02 | NULL   |
|  2 | 熊哈   | 1999-01-03 | NULL   |
+----+--------+------------+--------+
2 rows in set (0.00 sec)

将name列修改为xingming

复制代码
mysql> alter table employee change name xinming varchar(666);
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc employee;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| xinming  | varchar(666) | YES  |     | NULL    |       |
| bithyday | date         | YES  |     | NULL    |       |
| assert   | varchar(99)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

4.删除表

语法:

复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

例子:

复制代码
drop table employee;
相关推荐
TDengine (老段)1 小时前
TDengine 中集群维护
大数据·运维·数据库·时序数据库·tdengine·涛思数据·物联
MonKingWD1 小时前
【redis原理篇】底层数据结构
数据结构·数据库·redis
渡梦酒2 小时前
Redis批量删除Key的三种方式
数据库·redis·junit
别来无恙1493 小时前
如何用 SQL 找到最受欢迎的用户?
数据库·sql·mysql
vvilkim4 小时前
MongoDB聚合框架:大数据处理的瑞士军刀
数据库·mongodb
heart000_14 小时前
MySQL增删改查基础教程:熟练掌握DML语句操作【MySQL系列】
数据库·mysql
昌sit!4 小时前
mysql主从复制搭建
android·mysql·adb
火龙映天4 小时前
Android Studio历史版本下载方法
android·ide·android studio
why1514 小时前
5.26 面经整理 360共有云 golang
android·adb·golang
cici158744 小时前
粗糙表面生成程序及模拟方法
linux·前端·数据库