MySQL复制表中遗漏部分和Java枚举遗漏部分讲解
MySQL复制表中我们遗漏了另外一种方法:
使用 create table xxx like xxx; 看以下实例
mysql> create table cool_3 like cool;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 6
Current database: Hello
Query OK, 0 rows affected (0.13 sec)
额,这是什么情况,应该是连接超时了
mysql> create table cool_3 like cool;
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
+-----------------+
| Tables_in_hello |
+-----------------+
| cool |
| cool_2 |
| cool_3 |
+-----------------+
3 rows in set (0.01 sec)
mysql> insert into cool_3 select * from cool;
Query OK, 6 rows affected (0.02 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> select * from cool_3
-> ;
+----+-----------+------------+-------+-----------+
| id | name | time | score | country |
+----+-----------+------------+-------+-----------+
| 2 | QQ | NULL | 78 | 中国 |
| 4 | 李大志 | NULL | 88 | 俄罗斯 |
| 5 | 葫芦 | NULL | 77 | 英国 |
| 6 | 王五子 | NULL | 77 | 挪威 |
| 7 | 11 | NULL | 66 | NULL |
| 8 | 100 | 2020-07-06 | 100 | 阿根廷 |
+----+-----------+------------+-------+-----------+
6 rows in set (0.00 sec)
可以看到完整的复制了一个表
今天说的Java枚举,少了一项内容,就是 枚举类成员
枚举其实跟普通类一样可以用自己的变量、方法和构造函数, 构造函数只能使用private来修饰,而且这里说的构造函数的名字是和枚举名一样的。
比如 enum xxx{
private xxx() { //构造函数
}
}
如果使用public来修饰,编译时就会报错。如果枚举类具有抽象方法,则枚举类的每个实例都必须实现抽象方法。
public class EnumClassTestDemo {
enum Phone{
HuaWei,iPhone,oppo,vivo;
private Phone(){
System.out.println("Phone: " + this.toString()); //会将枚举中的元素转换为String(字符串)
}
public void phoneColor(){
System.out.println("手机颜色");
}
}
public static void main(String[] args) {
//对枚举进行实例赋值
Phone phone = Phone.HuaWei;
phone.phoneColor();
}
}
我们看下程序的结果:
Phone: HuaWei
Phone: iPhone
Phone: oppo
Phone: vivo
手机颜色
好了,今天就到这里吧