1.创建用户
create user 用户名 identified by '密码';
2,给用户分配权限
grant 权限 on 数据库.数据表 to
'用户'
@
'主机名'
;
给user1添加所以权限
grant all on *.* to 'user1'@'%';
给user1添加select权限
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
3,收回权限
revoke all on *.* from 'user1' @'%';
4,设置自增
1. 一个表中只能有一个自动增长字段;
2. 该字段的数据类型是整数类型;
3.必须定义为键,如 UNIQUE KEY、 PRIMARY KEY;
4.若插入的是一个具体值,则不会使用自动增长值;
5.自动增长值从1开始自增,每次加1
6.使用 DELETE删除记录时,自动增长值不会减小或填补空缺.
Create Table my_auto(
id Int Unsigned Primary Key Auto_Increment,
username Varchar(20)
);
二-----主键&外键
主键:主键是唯一标识表中每行的列。一个表只能有一个主键,主键列不能包含null值。
外键:外键是另一表的主键,建立两个表的连接,外键是可以有重复的,可以是空值。
1,对已经存在的表
create table 表名(
列名1 数据类型 primary key,
列名2 数据类型
);
--------或------------
create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名1)
);
------已经存在的表-----
alter table 表名 add primary key(列名);
2,对正在建立的表
---------主表------
create table 表1(
列名1 数据类型 primary key,
列名2 数据类型
);
----从表(外键约束所在的表)------
create table 表2(
FK_列名1 数据类型,
列名2 数据类型,
constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名(主表的列名1)
);
3,删除约束
//删除主键约束
ALTER TABLE tb_name DROP PRIMARY KEY;
//删除外键约束
ALTER TABLE tb_name DROP FOREIGN KEY tb_id;
注意:设了自增(AUTO_INCREMENT)的主键是删不了的,
(1)如果有auto_increment,先删除之;
(2)删除主键约束 primary key
alter table t9 modify id int(11); #这里用的modify,只改变数据类型,让他没有自增约束
alter table t9 drop primary key; #删除主键