一、常见的字段约束
在MySQL数据库中有许多常见的字段约束,所谓的字段约束就是在设置字段时需要给字段添加一些“枷锁”。
常见的字段约束有:
INT(n) 数据类型及允许数据的个数
NOT NULL 非空
DEFAULT 默认值
PRIMARY KEY 主键约束,不能为空,不能重复,一般情况下一张表中至少要有一个主键
AUTO_INCREMENT 自增,一般配合数值类型的主键去使用
UNSIGNED 无符号,正数
UNIQUE 唯一约束,具有唯一性(不能重复) 可以为空
FOREIGN KEY(当前表的外键字段) REFERENCES 关联表名(关联表字段) 外键约束,在创建关系映射时需要进行设置
二、权限管理
1、修改密码
若是想修改MySQL数据库的密码,首先需要进入到MySQL数据库中。
之后,显示所有的数据库:
mysql>SHOW DATABASES;
进入mysql数据库中,查看该库中的所有的表:
USE mysql;
SHOW TABLES;
更新user表中对应用户的authentication_string字段的值:
UPDATE user SWT authentication_string=password(你要设置的新密码) WHERE User='需要设置密码的用户' AND Host='用户所对应的IP地址';
例:
UPDATE user SET authentication_string=password(123456) WHERE User='root' AND Host='localhost';
2、忘记密码
如果在登录MySQL数据库时忘记了自己以前设置的密码。应该如何处理呢?
首先修改配置文件。
在MySQL数据库文件夹中的mysqld文件下面添加skip-grant-tables,该命令是用于登录MySQL数据库时跳过权限认证。
其次重新启动MySQL服务,之后不使用密码登录root用户,接下来执行修改密码的操作,修改密码完成后退出数据库并把配置文件改回来,最后再重启MySQL服务,使用修改后的密码登录即可。
3、创建用户
格式:
CREATE USER '用户名'@'ip地址' IDENTIFIED BY '密码'
下面是几个例子:
添加一个李四的账户,只能允许在本地登录
Create user 'lisi'@'localhost' identified by '123456';
添加一个wangwu用户,只允许10.10.91.3ip去登录
Create user 'wangwu'@'10.10.91.3' identified by '123456';
添加一个 zl用户,不限制登录地址(不限制来源地)
Create user 'zl'@'%' identified by '123456';
4、给用户授权
一般而言,公司中的数据库需要给一些用户进行授权,使其可以进行远程连接。
语法格式:
GRANT 权限 ON 库名.表名 TO '用户名'@'地址'
例如:
给lisi授权,允许操作(select,insert,update)demo6库中的user表
GRANT SELECT,INSERT,UPDATE ON demo6.user TO 'lisi'@'localhost';
给zl授权,允许操作(select,insert,update) 所有的库和所有的表
GRANT SELECT,INSERT,UPDATE ON *.* TO 'zl'@'%';
5、删除用户
有些用户可能过段时间就不用了,对于不用的用户就要进行删除用户操作。
语法格式为:
DROP user '用户名'@'ip地址';
例如删除wangwu用户
DROP user 'wangwu'@'10.10.91.3';