1.修改表名:
alter table 表名 rename to 新的表名;
2.修改表的字符集:
alter table 表名 character set 字符集名称;
3.添加一列:
alter table 表名 add 列名 数据类型;
4.修改列名称 类型:
alter table 表名 change 被修改列名 修改后列名 新数据类型;
alter table 表名 modify 列名 新数据类型;
5.删除列:
alter table 表名 drop 列名;
客户端图形化工具:
SQLYog;
DML:
增删改表中数据;
添加数据:
语法:
insert into 表名(列名1,列名2,...列名) values(值1,值2,....值n);
注意:
1.列名和值要一一对应;
2.如果表名后不加列名,则默认给所有列添加值;
3.除了数字类型,其他类型需要使用引号(单双都可);
删除数据:
语法:
delete from 表名 where 条件;
truncate table :删除表,然后创建一个表名一模一样的空表;
注意:
1.如果不加条件,则删除表中所有元素;
2.如果要删除所有记录:
delete from 表名;不推荐使用,有多少记录就执行多少次删除操作,效率低;
truncate table 表名;推荐使用,效率高;
修改数据:
语法:
update 表名 set 列名1=值1,列名2=值2,....where 条件;
注意:
如果不加条件,则会将列中所有记录修改;
占位符:
_:单个或任意字符;
%:多个任意字符;
例:
select * from stu where like "_李_" (名字第二个字是李);
分组查询:
语法:group by 分组字段 where 条件 having 条件;
注意:
1.分组之后查询的字段:分组字段,聚合函数;
2.where和having的区别:
where 在分组之前进行限定,如果不满足条件,不参与分组;
having 在分组之后限定,如果不满足条件,则不会被查询出;
where 后不可以跟聚合函数,having 可以进行聚合函数的判断;
1.创建表时添加约束:
create table stu(
id int notnull,
name varchar(20)
)
2.创建表后添加:
alter table modify id int notnull;
3.创建表后删除:
alter table modify id int;
唯一约束:
1.创建表时添加:
create table stu(
id int unique,
name varchar(20)
)
2.创建表后删除:
alter table stu drop index id;
3.创建表后添加:
alter table stu id int unique;
主键约束:
1.注意:
含义:非空且唯一;
一张表只能有一个字段为主键;
主键是表中记录的唯一标识;
2.在创建表时添加:
create table stu(
id int primary key,
name varchar(20)
)
3.删除主键:
alter table stu drop primary key;
4.创建后添加:
alter table stu modefy id int primary key;
自动增长:
1.概念:如果某一列是数值类型的,使用auto_increment可以来完成值得自动增长;
2.在创建表时,添加主键约束,并完成值得自动增长;
create table stu(
id int priamry key auto_increment,
name varchar(20)
)
3.删除自动增长:
alter table stu modify id int;
4.创建后添加:
alter table stu modify id int primary key auto_increment;