1、在DOS下连接root用户(密码为mysql)
cd D:\Program Files\MySQL\MySQL Server 5.1\bin
mysql -u root -p
(下面会提示你输入密码)
修改用户密码的命令:
mysqladmin -u root -pmysqlpwd password mysql
mysql -u root -p
Enter password:mysql
2、在Oracle和Mysql都是使用show errors 显示错误信息,但是Mysql中不提示具体的错误信息,只是之处错误大约在什么附近...
3、显示数据库:
Oracle: select dbid,name,log_mode from v$database;(显示当前连接的数据库)
MySql: show databases(显示该系统中的所有数据库)
select database() (展示当前连接的数据库);(如图)
4、创建数据库:(其中school为创建的数据库名称)
Oracle: a、图形化界面创建 b、手工创建数据库(略)
MySql:
create database school;
grant select,insert,update,delete,create,drop,alter on school.* to school(用户名)@localhost identified by 'school';(密码用单引号引起来)
set password for school@localhost=old_password('school');
(自动创建用户名: school)
mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。
mysql>grant all on *.* to root@202.116.39.2 identified by '123456';
说明:grant 与on 之间是各种权限,例如:insert,select,update等
on 之后是数据库名和表名,第一个*表示所有的数据库,第二个*表示所有的表
root可以改成你的用户名,@后可以跟域名或IP地址,identified by 后面的是登录用的密码 ,可以省略,即缺省密码或者叫空密码。
5、删除数据库:
Oracle: shutdown immediate;
startup mount restrict exclusive;(保证受限的独占模式)
drop database;
MySql: drop database school;(school指的是数据库名称)
mysqladmin drop database
5、表的创建:(创建了students、courses、enrollment三个表)
创建表之前要定位到使用的数据库
use school;(用use命令切换数据库)
创建表:
Create table Students2(
Sno varchar(10) primary key,
Sname varchar(8) not null,
Ssex varchar(2) not null check (Ssex='F' or Ssex='M'),
Sage int,
Sdept varchar(20) default 'Computer'
);
create table courses(
Cno varchar(6) primary key,
Cname varchar(20) not null,
ProCno varchar(6),
Credits int
);
create table enrollment(
Sno varchar(10),
Cno varchar(6),
Grade int,
CONSTRAINT PK_SCNO PRIMARY KEY (Sno,Cno),
CONSTRAINT FK_SNO FOREIGN KEY (SNO) REFERENCES STUDENTS (Sno),
CONSTRAINT FK_CNO FOREIGN KEY (CNO) REFERENCES COURSES (Cno)
);
创建表时注意Mysql中的数据类型
在创建表时Oracle和Mysql命令基本相同,只是要注意数据类型的差异
6、表的删除以及有关数据的操纵均与Sql语句符合(基本没有什么区别)
7、导入.sql文件
Oracle: @ C:/mysql.sql(在相应的方案下)
Mysql: use databasename
source C:/mysql.sql
8、用文本方式将数据装入数据表中;
mysql>load data local infile "D:\mysql.txt" into table tablename(首先得创建一个名为tablename的表名)
注意:文本数据应符合的格式: 字段之间用tab键隔开,null值用\n来代替;
1 feier F Computer
2 shuang F IS
假设你把这两组数据存为student.txt文件
数据库传入命令load data local infile “D:\mysql.txt” into table students
注意:你最好将文件复制到\mysql\bin 目录下,并且要先用use名林打开表所在的数据库.
9、用户问题:
MySql:
a.修改用户密码:
update mysql.user set password =PASSWORD('password') where User='root';
flush privileges;
b.创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
mysql> grant all privileges on *.* to user@localhost identified by 'something' with
增加新用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
删除授权:
mysql> revoke all privileges on *.* from root@"%";
mysql> delete from user where user="root" and host="%";
mysql> flush privileges;
创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb
mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd'
c.查看【所有】用户信息:
describe mysql.user;(mysql.user为系统表)
select user,host from mysql.user;(select user,host password from mysql.user;)但密码是加密的;
d.查看用户权限:
show grants for username(用户名)
eg. show grants for root@'localhost';
show grants for feier@localhost;
e.收回用户权限和删除用户
显示结果: (图收回用户权限和删除用户)
1.grant all privileges on students.* to feier@localhost
收回权限:
2.revoke all privileges on students.* from feier@localhost(收回用户feier对student数据库 的所有操作权限)
注意删除用户之前,必须收回他的权限,而在Oracle删除用户直接就可以删除它被授予的 权限(Connect sys/feier as sysdba; drop user feier)
因为用户信息是存储在系统表mysql.user
删除用户:
3.delete from mysql.user where user='username' (and host='hostname')(这里的username指你要删除的用户名);
4.Flush privileges (当授权信息发生变化时,就用flush告诉服务器重载授权表)
Oracle:
a.创建用户
create user username identified by userman;
b.删除用户
connect sys/feier as sysdba
drop user userman;
c.给用户授予权限和收回权限均符合SQL的语法
10、备份数据库:
cd D:\Program Files\MySQL\MySQL Server 5.1\bin(命令在bin目录下执行)
a.导出整个数据库
导出文件默认是存在安装目录下的\bin目录
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
b.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
c.导出一个数据库结构
mysqldump -u user_name -p -d --add-drop-table database_name > outfile_name.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
d.带语言参数导出
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt database_name > outfile_name.sql
11、显示表的具体结构:
mysql>describe tablename;
( in mysql “describe” can't describe database(DB) information)
或者desc tablename;
或者show columns from tablename;
12、不同的DBMS的授权方式的不同!
Oracle: 是在一个数据库下创建多个用户,再对不同的用户授予操作这个数据库的不同权限
MySql: 可以创建多个数据库,创建多个用户,对不同的用户授予不同的数据库操作.
13、数据查询方面的区别:
a.查询前几行数据:
Oracle:select * from students rownum<=3 order by Sno DESC;
select * from (select * from students order by Sno DESC) where rownum<=3
注意在Oracle中这两个句子返回的结果是相同的,都代表先排序再筛选出前3条记录
MySql: select * from students limit 0,2(第一个数字代表从第几行开始,第二个数字代表查询的记录数)
b.更改表名:
Oracle: alter table oldtablename rename to newtablename;
MySql: rename table oldtablename to newtablename;
或者alter table oldtablename rename to newtablename;与(Oracle相同)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26690043/viewspace-717151/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26690043/viewspace-717151/