mysql数据库表操作
查看表的结构
mysql> desc / describe 表名;
或者:
mysql> show create table 表名;
常见数据库引擎: innodb, myISAM...
删除表
mysql> drop table [if exists] 表名 ;
表(结构)的修改
一般语法格式: alter table 表名 操作方式 数据
1. 修改表名称
mysql> alter table 表名 rename newtb;
2. 添加字段
mysql> alter table 表名 add 字段名 字段类型; [位置];
位置: 增加到最后
first:增加到第一列
after 已有字段: 增加到指定字段之后;
3. 修改字段名称:
mysql> alter table 表名 change 旧字段名 新字段名 字段类型;
4. 修改字段类型:
mysql> alter table 表名 modify 字段名 字段类型;
5. 修改字段顺序:
mysql> alter table 表名 modify 字段名 字段类型 位置;
位置:
first:增加到第一列
after 已有字段: 增加到指定字段之后;
删除字段
mysql> alter table 表名 drop 字段名 ;
设置约束
1) 设置 primary key / unique key
mysql> alter table 表名 add primary key / unique key (字段名) ;
2) 设置 not null 和 auto_increment
mysql> alter table 表名 modify 字段名 字段类型 not null / auto_increment;
3) default 约束
mysql> alter table 表名 alter 字段名 set default '默认值';
4) 外键约束
mysql> ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(字段) REFERENCES 主表名(主键列) [ON DELETE 参数]
取消约束
1) 取消 primary key / foreign key
mysql> alter table 表名 drop primary key / foreign key;
2) 取消 unique key
mysql> alter table 表名 drop index 字段名;
3) 取消 default 约束
mysql> alter table 表名 alter 字段名 drop default;
4) 取消 not null 和 auto_increment
mysql> alter table 表名 modify 字段名 字段类型;
修改表中字段的字符集
mysql> alter table 表名 convert to character set utf8;
数据的操作
1. 数据增加
SQL 语句的语法格式:
insert into 表名 [(字段1,字段2...)] values (值11,值12...)[,(值21,值22...)];
2. 数据删除
SQL 语句的语法格式:
delete from 表名 where 条件;
特别注意:数据删除时一定要指定条件,否则会删除所有数据;
条件如何构建:
MYSQL 提供了关系运算符和逻辑运算符: > < != = >= <= && || ! xor
3. 数据修改
SQL 语句的语法格式:
update 表名 set 字段1 = 值1,字段2 = 值2 where 条件;
4. 数据查询 (单表查询)
4.1 查看所有数据:
mysql> select * from 表名;
4.2 查看指定字段数据:
mysql> select 字段名1,字段名2... from 表名;
4.3 避免重复查询:
mysql> select distinct 字段名 from 表名;
4.4 空值查询
mysql> select 字段名 from 表名 where 字段 = NULL; error
mysql> select 字段名 from 表名 where 字段 is NULL; OK
4.5 条件查询
mysql> select 字段名,... from 表名 where 条件;
mysql> select 字段名,... from 表名 where 条件1 and 条件2;
4.6 范围查询
mysql> select 字段名,... from 表名 where 字段 between 值1 and 值2;
mysql> select 字段名,... from 表名 where 字段 not between 值1 and 值2;