1、mysql-5.5.20-win32.msi:Windows 安装包,图形化的下一步下一步的安装。
2、mysql-5.5.20.zip,这个是windows源文件,需要编译,对应的Linux源文件是mysql-5.5.20.tar.gz
3、mysql-5.5.20-win32.zip,这个文件解包后即可使用,是编译好的windows32位Mysql。
1、下载mysql-5.5.20-win32.zip,解压到D:\,D盘就会出现mysql-5.5.20-win32目录
2、配置MYSQL的环境变量
新增系统变量MYSQL_HOME: D:\mysql-5.5.20-win32
在PATH变量的最后面添加: ;%MYSQL_HOME%\bin
保存即可。
3、打开文件my-huge.ini另存为my.ini,删除my.ini中的所有配置,在my.ini文件中加入如下简单配置:(my.ini是保存在与my-huge.ini同一个目录下的)(#表示注释)
- #ThefollowingoptionswillbepassedtoallMySQLclients
- [client]
- #password=your_password
- port=3306
- #设置mysql客户端的字符集
- default-character-set=utf8
- #TheMySQLserver
- [mysqld]
- port=3306
- #设置mysql的安装目录
- basedir=D:\mysql-5.5.20-win32
- #设置mysql数据库的数据存放目录,必须是data或者\xxx-data
- datadir=D:\mysql-5.5.20-win32\data
- #设置服务器段的字符集
- character_set_server=utf8
4、注册服务
运行-->cmd,输入命令:
- mysqld--installmysql--defaults-file=d:\mysql-5.5.20-win32\my.ini
或着,
运行-->cmd,输入命令:
- mysqld--installmysql
删除服务:
- scdeletemysql
在“服务”中就会出现mysql这一项。
5、启动服务:
- netstartmysql
停止服务:
- netstopmysql
6、服务启动后:
登录MySQL服务器:
命令格式:
- mysql-hhostname-uusername-p
或
- mysql-hhostname-uusername-p
命令说明:mysql命令将调用MySQL监视程序,这是一个可以将我们连接到MySQL服务器端的客户端命令行工具。
选项说明:
-h选项:用于指定所希望连接的主机,即运行MySQL服务器的机器。如果在运行MySQL服务器的机器上运行该命令,则可以忽略该选项和hostname参数;如果不是,必须用运行MySQL服务器的主机名称来代替主机名称参数。
-u命令:用于指定连接数据库时使用的用户名称。
-p命令:用于指定用户输入的密码
此时我本机安装了MYSQL,可忽略该选项和hostname参数:
- mysql-uroot-p
注:
MySQL的管理员用户名为root,密码默认为空
修改root密码
MySQL配置好后,启动成功,默认密码是空,但是为了安全,设置密码(MySQL有一个默认用户名为root,密码自己设定:假如设为root)。
1)登录MySQL root用户:
打开命令行,执行:
- mysql-uroot-p
2)修改root密码:
- mysql>updatemysql.usersetpassword="root"whereUser="root";
- mysql>flushprivileges;
修改该修改密码的语句:update mysql.user set password="root" where User="root";
为: update mysql.user set password=password("root") where User="root";
详细说明:见最底下的补充说明。
以后再进入MySQL,则为:
- mysql-uroot-proot
7、常用命令:
- showdatabases;--显示数据库
- usedatabasename;--用数据库
- showtables;--显示表
- createtabletablename(field-name-1fieldtype-1modifiers,field-name-2fieldtype-2modifiers,....);--创建表
- altertabletablenameaddnew-fielnamenewfieldtype--为表加入新列
- insertintotablename(fieldname-1,fieldname-2,fieldname-n)valuse(value-1,value-2,value-n)--增
- deletefromtablenamewherefieldname=value--删
- updatetablenamesetfieldname=new-valuewhereid=1--改
- select*fromtablename--查
- desctablename--表定义描述
- showcreatetabletablename--可以查看引擎
- altertabletablenameengine=InnoDB--修改引擎
- createtabletablename(idint(11),namevarchar(10))type=INNODB--建表是设置引擎
8、例如:
(1)登录MySQL服务器后,查看当前时间,登录的用户以及数据库的版本
- mysql>selectnow(),user(),version();
- +---------------------+----------------+-----------+
- |now()|user()|version()|
- +---------------------+----------------+-----------+
- |2012-02-2620:29:51|root@localhost|5.5.20|
- +---------------------+----------------+-----------+
- 1rowinset(0.00sec)
(2)显示数据库列表
- mysql>showdatabases;
- +--------------------+
- |Database|
- +--------------------+
- |information_schema|
- |mysql|
- |performance_schema|
- |test|
- +--------------------+
- 4rowsinset(0.03sec)
(3)新增数据库并查看
- mysql>createdatabasetest_db;
- QueryOK,1rowaffected(0.00sec)
- mysql>showdatabases;
- +--------------------+
- |Database|
- +--------------------+
- |information_schema|
- |mysql|
- |performance_schema|
- |test|
- |test_db|
- +--------------------+
- 5rowsinset(0.00sec)
(4)选择数据库
- mysql>usetest_db;
- Databasechanged
查看已选择的数据库:
- mysql>selectdatabase();
- +------------+
- |database()|
- +------------+
- |test_db|
- +------------+
- 1rowinset(0.00sec)
(5)显示当前数据库的所有数据表
- mysql>showtables;
- Emptyset(0.00sec)
(6)新建数据表并查看
- mysql>createtableperson(
- ->idint,
- ->namevarchar(20),
- ->sexchar(1),
- ->birthdate
- ->);
- QueryOK,0rowsaffected(0.09sec)
- mysql>showtables;
- +-------------------+
- |Tables_in_test_db|
- +-------------------+
- |person|
- +-------------------+
- 1rowinset(0.00sec)
(7)获取表结构
- mysql>descperson;
- +-------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +-------+-------------+------+-----+---------+-------+
- |id|int(11)|YES||NULL||
- |name|varchar(20)|YES||NULL||
- |sex|char(1)|YES||NULL||
- |birth|date|YES||NULL||
- +-------+-------------+------+-----+---------+-------+
- 4rowsinset(0.01sec)
或者
- mysql>describeperson;
- +-------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +-------+-------------+------+-----+---------+-------+
- |id|int(11)|YES||NULL||
- |name|varchar(20)|YES||NULL||
- |sex|char(1)|YES||NULL||
- |birth|date|YES||NULL||
- +-------+-------------+------+-----+---------+-------+
- 4rowsinset(0.01sec)
(8)查询表中的数据
- mysql>select*fromperson;
- Emptyset(0.00sec)
(9)插入数据
- mysql>insertintoperson(id,name,sex,birth)
- ->values(1,'zhangsan','1','1990-01-08');
- QueryOK,1rowaffected(0.04sec)
查询表中的数据:
- mysql>select*fromperson;
- +------+----------+------+------------+
- |id|name|sex|birth|
- +------+----------+------+------------+
- |1|zhangsan|1|1990-01-08|
- +------+----------+------+------------+
- 1rowinset(0.00sec)
(10)修改字段的类型
- mysql>altertablepersonmodifysexchar(8);
- QueryOK,1rowaffected(0.17sec)
- Records:1Duplicates:0Warnings:0
查看字段描述:
- mysql>descperson;
- +-------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +-------+-------------+------+-----+---------+-------+
- |id|int(11)|YES||NULL||
- |name|varchar(20)|YES||NULL||
- |sex|char(8)|YES||NULL||
- |birth|date|YES||NULL||
- +-------+-------------+------+-----+---------+-------+
- 4rowsinset(0.01sec)
(11)新增一个字段
- mysql>altertablepersonadd(addressvarchar(50));
- QueryOK,1rowaffected(0.27sec)
- Records:1Duplicates:0Warnings:0
查看字段描述:
- mysql>descperson;
- +---------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +---------+-------------+------+-----+---------+-------+
- |id|int(11)|YES||NULL||
- |name|varchar(20)|YES||NULL||
- |sex|char(8)|YES||NULL||
- |birth|date|YES||NULL||
- |address|varchar(50)|YES||NULL||
- +---------+-------------+------+-----+---------+-------+
- 5rowsinset(0.01sec)
(12)更新字段内容
查看修改前表的内容:
- mysql>select*fromperson;
- +------+----------+------+------------+---------+
- |id|name|sex|birth|address|
- +------+----------+------+------------+---------+
- |1|zhangsan|1|1990-01-08|NULL|
- +------+----------+------+------------+---------+
- 1rowinset(0.00sec)
修改:
- mysql>updatepersonsetname='lisi'whereid=1;
- QueryOK,1rowaffected(0.04sec)
- Rowsmatched:1Changed:1Warnings:0
- mysql>select*fromperson;
- +------+------+------+------------+---------+
- |id|name|sex|birth|address|
- +------+------+------+------------+---------+
- |1|lisi|1|1990-01-08|NULL|
- +------+------+------+------------+---------+
- 1rowinset(0.00sec)
- mysql>updatepersonsetsex='man',address='China'whereid=1;
- QueryOK,1rowaffected(0.04sec)
- Rowsmatched:1Changed:1Warnings:0
- mysql>select*fromperson;
- +------+------+------+------------+---------+
- |id|name|sex|birth|address|
- +------+------+------+------------+---------+
- |1|lisi|man|1990-01-08|China|
- +------+------+------+------------+---------+
- 1rowinset(0.00sec)
为了方便下面测试删除数据,在向person表中插入2条数据:
- mysql>insertintoperson(id,name,sex,birth,address)
- ->values(2,'wangwu','man','1990-01-10','China');
- QueryOK,1rowaffected(0.02sec)
- mysql>insertintoperson(id,name,sex,birth,address)
- ->values(3,'zhangsan','man','1990-01-10','China');
- QueryOK,1rowaffected(0.04sec)
- mysql>select*fromperson;
- +------+----------+------+------------+---------+
- |id|name|sex|birth|address|
- +------+----------+------+------------+---------+
- |1|lisi|man|1990-01-08|China|
- |2|wangwu|man|1990-01-10|China|
- |3|zhangsan|man|1990-01-10|China|
- +------+----------+------+------------+---------+
- 3rowsinset(0.00sec)
(13)删除表中的数据
删除表中指定的数据:
- mysql>deletefrompersonwhereid=2;
- QueryOK,1rowaffected(0.02sec)
- mysql>select*fromperson;
- +------+----------+------+------------+---------+
- |id|name|sex|birth|address|
- +------+----------+------+------------+---------+
- |1|lisi|man|1990-01-08|China|
- |3|zhangsan|man|1990-01-10|China|
- +------+----------+------+------------+---------+
- 2rowsinset(0.00sec)
删除表中全部的数据:
- mysql>deletefromperson;
- QueryOK,2rowsaffected(0.04sec)
- mysql>select*fromperson;
- Emptyset(0.00sec)
(14)重命名表
查看重命名前的表名:
- mysql>showtables;
- +-------------------+
- |Tables_in_test_db|
- +-------------------+
- |person|
- +-------------------+
- 1rowinset(0.00sec)
重命名:
- mysql>altertablepersonrenameperson_test;
- QueryOK,0rowsaffected(0.04sec)
- mysql>showtables;
- +-------------------+
- |Tables_in_test_db|
- +-------------------+
- |person_test|
- +-------------------+
- 1rowinset(0.00sec)
(15)新增主键
- mysql>altertableperson_testaddprimarykey(id);
- QueryOK,0rowsaffected(0.11sec)
- Records:0Duplicates:0Warnings:0
- mysql>descperson_test;
- +---------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +---------+-------------+------+-----+---------+-------+
- |id|int(11)|NO|PRI|0||
- |name|varchar(20)|YES||NULL||
- |sex|char(8)|YES||NULL||
- |birth|date|YES||NULL||
- |address|varchar(50)|YES||NULL||
- +---------+-------------+------+-----+---------+-------+
- 5rowsinset(0.00sec)
删除主键:
- mysql>altertableperson_testdropprimarykey;
- QueryOK,0rowsaffected(0.18sec)
- Records:0Duplicates:0Warnings:0
- mysql>descperson_test;
- +---------+-------------+------+-----+---------+-------+
- |Field|Type|Null|Key|Default|Extra|
- +---------+-------------+------+-----+---------+-------+
- |id|int(11)|NO||0||
- |name|varchar(20)|YES||NULL||
- |sex|char(8)|YES||NULL||
- |birth|date|YES||NULL||
- |address|varchar(50)|YES||NULL||
- +---------+-------------+------+-----+---------+-------+
- 5rowsinset(0.01sec)
(16)删除表
- mysql>droptableperson_test;
- QueryOK,0rowsaffected(0.04sec)
- mysql>showtables;
- Emptyset(0.00sec)
(17)删除数据库
- mysql>showdatabases;
- +--------------------+
- |Database|
- +--------------------+
- |information_schema|
- |mysql|
- |performance_schema|
- |test|
- |test_db|
- +--------------------+
- 5rowsinset(0.00sec)
- mysql>dropdatabasetest_db;
- QueryOK,0rowsaffected(0.11sec)
- mysql>showdatabases;
- +--------------------+
- |Database|
- +--------------------+
- |information_schema|
- |mysql|
- |performance_schema|
- |test|
- +--------------------+
- 4rowsinset(0.00sec)
(18)查看建表语句
- mysql>showcreatetabletable_name;
补充说明:
update mysql.user set password="root" where User="root";修改的不是密码,如果按照这个方式修改了,重新登录时将会报错:
- mysql>updatemysql.usersetpassword="root"whereUser="root";
- QueryOK,3rowsaffected(0.00sec)
- Rowsmatched:3Changed:3Warnings:0
- mysql>exit
- Bye
- C:\Users\liqiong>mysql-uroot-p
- Enterpassword:****
- ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:Y
- ES)
请按照以下方式重新修改密码,即可登录成功:
- C:\Users\liqiong>mysql-uroot
- WelcometotheMySQLmonitor.Commandsendwith;or\g.
- YourMySQLconnectionidis4
- Serverversion:5.5.20MySQLCommunityServer(GPL)
- Copyright(c)2000,2011,Oracleand/oritsaffiliates.Allrightsreserved.
- OracleisaregisteredtrademarkofOracleCorporationand/orits
- affiliates.Othernamesmaybetrademarksoftheirrespective
- owners.
- Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
- mysql>updatemysql.usersetpassword=password("root")whereUser="root";
- QueryOK,3rowsaffected(0.00sec)
- Rowsmatched:3Changed:3Warnings:0
- mysql>flushprivileges;
- QueryOK,0rowsaffected(0.00sec)
- mysql>exit
- Bye
- C:\Users\liqiong>mysql-uroot-p
- Enterpassword:****
- WelcometotheMySQLmonitor.Commandsendwith;or\g.
- YourMySQLconnectionidis5
- Serverversion:5.5.20MySQLCommunityServer(GPL)
- Copyright(c)2000,2011,Oracleand/oritsaffiliates.Allrightsreserved.
- OracleisaregisteredtrademarkofOracleCorporationand/orits
- affiliates.Othernamesmaybetrademarksoftheirrespective
- owners.
- Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
- mysql>