mysql表操作
1.创建表
语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意: 1. 在同一张表中,字段名是不能相同 2. 宽度和约束条件可选 3. 字段名和类型是必须的
解决乱码问题
mysql> create database db1 charset latin1; mysql> use db1; mysql> create table t1(name varchar(20)); mysql> show create table t1; #查看表,发现表默认与数据db1的字符编码一致 mysql> insert into t1 values('林'); #插入中文出错,因为latin1不支持中文 ERROR 1366 (HY000): mysql> #解决方法一:删除库db1,重建db1,字符编码指定为utf8 #解决方法二:修改 mysql> alter table t1 charset utf8; #修改表t1的编码 mysql> insert into t1 values('林'); #虽然t1的编码改了,但是t1的字段name仍然是按照latin1编码创建的 ERROR 1366 (HY000): mysql> alter table t1 modify name varchar(20); #需要重新定义下字段name mysql> insert into t1 values('林'); mysql> select * from t1; +------+ | name | +------+ | 林 | +------+ ps:不要忘记将数据库编码也改成utf8,这样以后在该数据库下创建表时,都默认utf8编码了
永久解决乱码问题
#1. 修改配置文件 [mysqld] default-character-set=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 #mysql5.5以上:修改方式有所改动 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 #2. 重启服务 #3. 查看修改结果: \s show variables like '%char%'
2.查看表结构
desc tab_name 查看表结构 show columns from tab_name 查看表结构 show tables 查看当前数据库中的所有的表 show create table tab_name 查看当前数据库表建表语句
3.修改表结构
-- (1)增加列(字段) alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名]; #添加多个字段 alter table users2 add addr varchar(20), add age int first, add birth varchar(20) after name; -- (2)修改一列类型 alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
-- (3)修改列名 alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
-- (4)删除一列 alter table tab_name drop [column] 列名;
-- (5)修改表名 rename table 表名 to 新表名; -- (6)修该表所用的字符集 alter table student character set utf8;
4.删除表
drop table tab_name;