Mysql基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.Mysql基本操作
1.1修改管理员的密码
1)Mysql刚安装好后无密码,使用”mysqladmin–uroot password 密码”修改管理员密
码
2)以管理员身份登录数据库,使用”mysql–u root”
3)原来有密码,现在要修改,使用”mysqladmin–uroot–p旧密码 password 新密码”
1.2用户的创建、删除、授权与撤权
Mysql安装好后,默认有两个数据库(mysql和test),而且除了root用户外,其他用户只能访问test数据库。
Mysql中设置了5个授权表(user/db/host/tables_priv/columnts_priv)。
1)创建新用户,方法如下:
A.mysql–u root –p #以管理员身份登录
B.insert into er(host,user,password)
values(‘%’,’guest’,password(‘guest’));#创建一个用户名为guest的用
户
C.flush privileges;#重载授权表
2)删除用户,方法如下:
A.mysql–u root –p #以管理员身份登录
B.delete from er where user=’guest’;
C.flush privileges;
3)更改用户密码,方法如下:
A.mysql–u root –p #以管理员身份登录
B.update er set password=password(‘123’) where user=’guest’;
C.flush privileges;
4)用户授权,方法如下:
格式:GRANT 权限列表[(字段列表)] ON 数据库名称.表名 TO 用户名@域名或IP地址[IDENTIFIED BY ‘密码值’] [WITH GRANT OPTION];
常用权限如下:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。
例一:要授权给用户guest可以从任意主机连接到数据库服务器,并具有完全访问学生选课数据库xsxk的权限。
grant all on xsxk.* to guest@’%’ identified by ‘guest’;
说明:
A.%表示从任何主机连接到数据库服务器,也可以用空白
B.% 表示从域中的任何主机连接到数据库服务器
C.192.168.85.% 表示从192.168.85.0子网中任何主机连接到数据库服务器
D.localhost 表示从本地主机连接
E.192.168.85.242 表示从IP为192.168.85.242的主机连接
例二:新建一个用户tom,让他能从子网192.168.85.0中任何主机连接到数据库服务器,可以读取数据库xsxk的内容,并且能修改表course中字段teacher的值。
grant select on xsxk.* to tom@’192.168.85.%’ identified by ‘123’;
grant update(teacher) on xsxk.course to tom@’192.168.85.%’;
例三:mysql管理员要授权用户admin可以从本地连接到数据库服务器,对学生选课数据库xsxk具有完全访问权限,并可将其拥有的权限授予其他用户
grant all on xsxk.* to admin@localhost identified by ‘123’ with grant option;
5)用户撤权,方法如下:
格式:REVOKE 权限列表[(字段列表)] ON 数据库名.表名 FROM 用户名@域名或IP地址;
例:mysql管理员要撤销用户admin@localhost对数据库xsxk所拥有的创建删除数据库与表的权限,并撤销该用户可以把自己拥有的权限授予其他用户的权限。
revokecreate,drop on xsxk.* from admin@localhost;
revoke grant option on xsxk.* from admin@localhost;
1.3数据库的创建与删除
1)创建数据库:create database 数据库名;
2)查看数据库:show databases;
3)选择数据库:use 数据库名;
4)删除数据库:drop database 数据库名;
1.4表操作
1.4.1基本操作
1)创建表
格式:create table 表名(字段1,…字段n,[表级约束]) [Type=表类型];
注:
A.字段i(i=1,…n)格式为:
字段名字段类型 [字段约束]
说明一:字段类型,规定了某字段所允许输入的数据类型
类型描述
int 允许值在0至2的32次方减1(无符号)之间
标准整数
double 双精度浮点数
char 最大长度不超过255字符定长字符串varchar 最大长度不超过255字符变长字符串
text 最大长度为65535字符字符串
blob 可变数据的二进制类型
date YYYYMMDD格式日期类型
说明二:字段约束,用来进一步对某个字段所允许输入的数据进行约束,常用的字段约束如下:
约束描述
NULL(或NOT NULL)指定允许(或不允许)某字段为空,默认为
NULL
DEFAULT 为某字段指定一个默认值
AUTO_INCREMENT 自动为某个INT字段生成一个递增1的整数
B.表级约束:用于表示表的主键、外键、索引和唯一约束。
约束描述
Primary key 为表指定主键
Foreign key ……References 为表指定外键
Unique 为某字段创建索引,此字段必须唯一
Fulltext 为某字段建立全文索引
C.表类型:用于指定表的类型,即数据的存储格式。
表类型描述
MyISAM 具有很多优化和增强的特性,是mysql默认
表类型
ISAM 类似于MyISAM,但功能较少
HEAP 保存在内存中,存取速度快,但存储容量小,
恢复难
BDB 支持事务和页锁定
INNODB 支持事务、外键和行级锁,是mysql中最完
善表格式