1. MySQL基本操作
1.1 启动数据库
1.2 链接数据库
1.3 显示数据库内容(需先进入mysql目录)
show databases;别忘了分号!
MySQL系统自带的默认数据库: mysql - 系统用户权限相关数据。 sys - 通过这个库可以快速的了解系统的元数据信息。 performance_schema - 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况。 information_schema - 它提供了数据库元数据的访问方式。
1.4 使用数据库
2. 用户管理
2.1 用户创建更新
创建用户 create user '用户名 ' @'IP地址' identified by '密码'; 删除用户 drop user '用户名 ' @'IP地址'; 修改用户 rename user '用户名 ' @'IP地址'; to '新用户名 ' @'IP地址'; 修改密码 set password for '用户名 ' @'IP地址' = Password('新密码') PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
2.2 授权管理
show grants for '用户'@'IP地址' -- 查看权限 grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权 revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限
2.3 补充内容
对于目标数据库以及内部其他: 数据库名.* 数据库中的所有 数据库名.表 指定数据库中的某张表 数据库名.存储过程 指定数据库中的存储过程 *.* 所有数据库数据库
用户名@IP地址 用户只能在改IP下才能访问 用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意) 用户名@% 用户可以再任意IP下访问(默认IP地址为%)用户IP
3. 数据表操作
3.1 在数据库中创建表
3.1.1 创建空表
use test #选择test库 create table 表名( # null表示可控空,not null表示不可空。 列名 类型 是否可以为空, 列名 类型 是否可以为空 )
3.1.2 设置默认值
设置默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值 create table tb1( nid int not null defalut 2, num int not null )
3.1.3 设置自增数据
自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列) create table tb1( nid int not null auto_increment primary key, num int null ) 或 create table tb1( nid int not null auto_increment, num int null, index(nid) ) 注意:1、对于自增列,必须是索引(含主键)。 2、对于自增可以设置步长和起始值 show session variables like 'auto_inc%'; set session auto_increment_increment=2; set session auto_increment_offset=10; shwo global variables like 'auto_inc%'; set global auto_increment_increment=2; set global auto_increment_offset=10;
3.1.4 设置主键
主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。 create table tb1( nid int not null auto_increment primary key, num int null ) 或 create table tb1( nid int not null, num int not null, primary key(nid,num) )
3.1.5 设置外键
外键,一个特殊的索引,只能是指定内容 creat table color( nid int not null primary key, name char(16) not null ) create table fruit( nid int not null primary key, smt char(32) null , color_id int not null, constraint fk_cc foreign key (color_id) references color(nid) )