1.登录MySQL
命令:
mysql -u -root -p
命令:mysql -u用户名 -p
键入命令mysql -uroot -p, 回车后提示你输入密码。然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
测试:
遇到了这个问题:这个是密码输入错误问题。还有可能是其他问题。google之
然后我们正常启动MySQL:
2.操作数据库
show databases;
use mysql;
show tables;
![](https://img-my.csdn.net/uploads/201304/02/1364911912_1362.png)
describe db;
![](https://img-my.csdn.net/uploads/201304/02/1364912381_7026.png)
create database 库名;
drop database 库名;
5.创建新用户
格式:grant 权限 (权限由逗号分开)
on 数据库.*(如果将新权限用于所有数据库或者表就用 *.*,应用于所有数据库。以dbname.*指定数据库中所有的表dbname.tablename表示数据库中的某一个表)
to 用户名@登录主机 identified by "密码"
with grant option(表示允许指定用户像别人授予自己的权限)
revoke命令:
revoke 权限
on 数据库
from user_name
例子:
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
用户的权限: select ,delete , insert ,update ,index ,alter ,create ,drop
可以看到后边的输入是错误的:原因是打错了update,遇到错误时先看看自己有没有拼写错误。
-> on books.*
-> to sally identified by "magic123";
-> on books.*
-> to sally;
-> on books.*
-> from sally;
![](https://img-my.csdn.net/uploads/201304/04/1365065538_7986.png)
-> (isbn char(13) not null primary key,
-> author char(50),
-> title char(100),
-> price float(4,2)
-> );
-> (orderid int unsigned not null,
-> isbn char(13) not null,
-> quantity tinyint unsigned,
-> primary key(orderid,isbn) 两个主键要以这种方式创建
-> );
![](https://img-my.csdn.net/uploads/201304/04/1365076993_2719.png)
show tables;
describe 表名;
![](https://img-my.csdn.net/uploads/201304/04/1365077133_7592.png)
show grants for bookorama;
![](https://img-my.csdn.net/uploads/201304/10/1365599235_1049.png)
describe table[column];
![](https://img-my.csdn.net/uploads/201304/10/1365599426_8635.png)
创建索引
索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。
注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。
唯一的索引 (Unique Index)
在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX 索引名称
ON 表名称 (列名称)
"列名称" 规定你需要索引的列。
简单的索引
在表上创建一个简单的索引。当我们省略关键词 UNIQUE 时,就可以使用重复的值。
CREATE INDEX 索引名称
ON 表名称 (列名称)
"列名称" 规定你需要索引的列。
本例会创建一个简单的索引,名为 "PersonIndex",在 Person 表的 LastName 字段:
CREATE INDEX PersonIndex
ON Person (LastName)
如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC:
CREATE INDEX PersonIndex
ON Person (LastName DESC)
假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:
CREATE INDEX PersonIndex
ON Person (LastName, FirstName)