查询所有表 show tables;
创建表
create table 表名(字段1名 字段1类型,字段2名 字段2类型);
create table person(name varchar(10),age int);
查看表详情
show create table person;
表引擎:
innodb:支持数据库的高级操作包括:事务、外键等
myisam:只支持数据基础的增删改查操作
创建表指定引擎和字符集
create table 表名(字段1名 字段1类型,字段2名 字段2类型) engine=myisam/innodb charset=utf8/gbk;
create table t1(name varchar(10),age int) engine=myisam charset=gbk;
查看表字段
desc 表名;
desc hero;
删除表
drop table 表名;
drop table hero;
修改表名
rename table 原名 to 新名;
create table t1(name varchar(10));
rename table t1 to t2;
修改表引擎和字符集
alter table 表名 engine=myisam/innodb charset=utf8/gbk;
alter table t2 engine=myisam charset=gbk;
添加表字段
-- 最后面添加格式: alter table 表名 add 字段名 字段类型;
-- 最前面添加格式: alter table 表名 add 字段名 字段类型 first;
-- xxx后面添加格式: alter table 表名 add 字段名 字段类型 after xxx;
alter table t2 add age int;
alter table t2 add sal int first;
alter table t2 add id int after name;
删除表字段
alter table 表名 drop 字段名;
alter table t2 drop id;
修改字段名和类型
alter table 表名 change 原名 新名 新类型;
alter table t2 change sal salary varchar(10);
修改字段类型和位置
alter table 表名 modify 字段名 新类型 first/after xxx;
alter table t2 modify salary int after age;
数据相关的SQL
插入数据
insert into 表名 values (值1,值2,值3);
insert into person values(1,‘Tom‘,20);
insert into 表名 (字段1,字段2) values(值1,值2);
insert into person (id,name) values(2,‘Jerry‘);
查询数据
select 字段信息 from 表名 where 条件;
修改数据
update 表名 set 字段名=值,字段名=值 where 条件;
删除数据
delete from 表名 where 条件;
中文乱码问题
通过在终端中执行 set names gbk;
主键约束
什么是主键:用于表示数据唯一性的字段称为主键
什么是约束: 就是创建表的时候给字段添加的限制条件
主键约束: 插入数据必须是唯一且非空的
主键约束+自增
自增数值只增不减
从历史最大值基础上+1
注释
对表的字段进行描述
create table t3(id int primary key auto_increment comment ‘主键字段‘,name varchar(10) comment ‘这是姓名‘);
is null 和 is not null
别名
select ename as ‘姓名‘,sal as ‘工资‘ from emp;
select ename ‘姓名‘,sal ‘工资‘ from emp;
select ename 姓名,sal 工资 from emp;
去重 distinct
select distinct job from emp;