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同一个目录下的)(#表示注释)
- # The following options will be passed to all MySQL clients
- [client]
- #password = your_password
- port = 3306
- #设置mysql客户端的字符集
- default-character-set = utf8
- # The MySQL server
- [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 --install mysql --defaults-file=d:\mysql-5.5.20-win32\my.ini
或着,
运行-->cmd,输入命令:
- mysqld --install mysql
删除服务:
- sc delete mysql
在“服务”中就会出现mysql这一项。
5、启动服务:
- net start mysql
停止服务:
- net stop mysql
6、服务启动后:
登录MySQL服务器:
命令格式:
- mysql -h hostname -u username -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> update mysql.user set password="root" where User="root";
- mysql> flush privileges;
以后再进入MySQL,则为:
- mysql -uroot -proot
7、常用命令:
- show databases;--显示数据库
- use databasename; --用数据库
- show tables;--显示表
- create table tablename(field-name-1 fieldtype-1 modifiers,field-name-2 fieldtype-2 modifiers,....);--创建表
- alter table tablename add new-fielname new fieldtype--为表加入新列
- insert into tablename(fieldname-1,fieldname-2,fieldname-n)valuse(value-1,value-2,value-n)--增
- delete from tablename where fieldname=value--删
- update tablename set fieldname=new-value where id=1--改
- select * from tablename--查
- desc tablename--表定义描述
- show create table tablename--可以查看引擎
- alter table tablename engine=InnoDB--修改引擎
- create table tablename(id int(11),name varchar(10) )type=INNODB--建表是设置引擎
8、例如:
(1)登录MySQL服务器后,查看当前时间,登录的用户以及数据库的版本
- mysql> select now(),user(),version();
- +---------------------+----------------+-----------+
- | now() | user() | version() |
- +---------------------+----------------+-----------+
- | 2012-02-26 20:29:51 | root@localhost | 5.5.20 |
- +---------------------+----------------+-----------+
- 1 row in set (0.00 sec)
(2)显示数据库列表
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | test |
- +--------------------+
- 4 rows in set (0.03 sec)
(3)新增数据库并查看
- mysql> create database test_db;
- Query OK, 1 row affected (0.00 sec)
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | test |
- | test_db |
- +--------------------+
- 5 rows in set (0.00 sec)
(4)选择数据库
- mysql> use test_db;
- Database changed
查看已选择的数据库:
- mysql> select database();
- +------------+
- | database() |
- +------------+
- | test_db |
- +------------+
- 1 row in set (0.00 sec)
(5)显示当前数据库的所有数据表
- mysql> show tables;
- Empty set (0.00 sec)
(6)新建数据表并查看
- mysql> create table person(
- -> id int,
- -> name varchar(20),
- -> sex char(1),
- -> birth date
- -> );
- Query OK, 0 rows affected (0.09 sec)
- mysql> show tables;
- +-------------------+
- | Tables_in_test_db |
- +-------------------+
- | person |
- +-------------------+
- 1 row in set (0.00 sec)
(7)获取表结构
- mysql> desc person;
- +-------+-------------+------+-----+---------+-------+
- | 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 | |
- +-------+-------------+------+-----+---------+-------+
- 4 rows in set (0.01 sec)
或者
- mysql> describe person;
- +-------+-------------+------+-----+---------+-------+
- | 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 | |
- +-------+-------------+------+-----+---------+-------+
- 4 rows in set (0.01 sec)
(8)查询表中的数据
- mysql> select * from person;
- Empty set (0.00 sec)
(9)插入数据
- mysql> insert into person(id,name,sex,birth)
- -> values(1,'zhangsan','1','1990-01-08');
- Query OK, 1 row affected (0.04 sec)
查询表中的数据:
- mysql> select * from person;
- +------+----------+------+------------+
- | id | name | sex | birth |
- +------+----------+------+------------+
- | 1 | zhangsan | 1 | 1990-01-08 |
- +------+----------+------+------------+
- 1 row in set (0.00 sec)
(10)修改字段的类型
- mysql> alter table person modify sex char(8);
- Query OK, 1 row affected (0.17 sec)
- Records: 1 Duplicates: 0 Warnings: 0
查看字段描述:
- mysql> desc person;
- +-------+-------------+------+-----+---------+-------+
- | 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 | |
- +-------+-------------+------+-----+---------+-------+
- 4 rows in set (0.01 sec)
(11)新增一个字段
- mysql> alter table person add(address varchar(50));
- Query OK, 1 row affected (0.27 sec)
- Records: 1 Duplicates: 0 Warnings: 0
查看字段描述:
- mysql> desc person;
- +---------+-------------+------+-----+---------+-------+
- | 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 | |
- +---------+-------------+------+-----+---------+-------+
- 5 rows in set (0.01 sec)
(12)更新字段内容
查看修改前表的内容:
- mysql> select * from person;
- +------+----------+------+------------+---------+
- | id | name | sex | birth | address |
- +------+----------+------+------------+---------+
- | 1 | zhangsan | 1 | 1990-01-08 | NULL |
- +------+----------+------+------------+---------+
- 1 row in set (0.00 sec)
修改:
- mysql> update person set name='lisi' where id=1;
- Query OK, 1 row affected (0.04 sec)
- Rows matched: 1 Changed: 1 Warnings: 0
- mysql> select * from person;
- +------+------+------+------------+---------+
- | id | name | sex | birth | address |
- +------+------+------+------------+---------+
- | 1 | lisi | 1 | 1990-01-08 | NULL |
- +------+------+------+------------+---------+
- 1 row in set (0.00 sec)
- mysql> update person set sex='man',address='China' where id=1;
- Query OK, 1 row affected (0.04 sec)
- Rows matched: 1 Changed: 1 Warnings: 0
- mysql> select * from person;
- +------+------+------+------------+---------+
- | id | name | sex | birth | address |
- +------+------+------+------------+---------+
- | 1 | lisi | man | 1990-01-08 | China |
- +------+------+------+------------+---------+
- 1 row in set (0.00 sec)
为了方便下面测试删除数据,在向person表中插入2条数据:
- mysql> insert into person(id,name,sex,birth,address)
- -> values(2,'wangwu','man','1990-01-10','China');
- Query OK, 1 row affected (0.02 sec)
- mysql> insert into person(id,name,sex,birth,address)
- -> values(3,'zhangsan','man','1990-01-10','China');
- Query OK, 1 row affected (0.04 sec)
- mysql> select * from person;
- +------+----------+------+------------+---------+
- | 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 |
- +------+----------+------+------------+---------+
- 3 rows in set (0.00 sec)
(13)删除表中的数据
删除表中指定的数据:
- mysql> delete from person where id=2;
- Query OK, 1 row affected (0.02 sec)
- mysql> select * from person;
- +------+----------+------+------------+---------+
- | id | name | sex | birth | address |
- +------+----------+------+------------+---------+
- | 1 | lisi | man | 1990-01-08 | China |
- | 3 | zhangsan | man | 1990-01-10 | China |
- +------+----------+------+------------+---------+
- 2 rows in set (0.00 sec)
删除表中全部的数据:
- mysql> delete from person;
- Query OK, 2 rows affected (0.04 sec)
- mysql> select * from person;
- Empty set (0.00 sec)
(14)重命名表
查看重命名前的表名:
- mysql> show tables;
- +-------------------+
- | Tables_in_test_db |
- +-------------------+
- | person |
- +-------------------+
- 1 row in set (0.00 sec)
重命名:
- mysql> alter table person rename person_test;
- Query OK, 0 rows affected (0.04 sec)
- mysql> show tables;
- +-------------------+
- | Tables_in_test_db |
- +-------------------+
- | person_test |
- +-------------------+
- 1 row in set (0.00 sec)
(15)新增主键
- mysql> alter table person_test add primary key(id);
- Query OK, 0 rows affected (0.11 sec)
- Records: 0 Duplicates: 0 Warnings: 0
- mysql> desc person_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 | |
- +---------+-------------+------+-----+---------+-------+
- 5 rows in set (0.00 sec)
删除主键:
- mysql> alter table person_test drop primary key;
- Query OK, 0 rows affected (0.18 sec)
- Records: 0 Duplicates: 0 Warnings: 0
- mysql> desc person_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 | |
- +---------+-------------+------+-----+---------+-------+
- 5 rows in set (0.01 sec)
(16)删除表
- mysql> drop table person_test;
- Query OK, 0 rows affected (0.04 sec)
- mysql> show tables;
- Empty set (0.00 sec)
(17)删除数据库
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | test |
- | test_db |
- +--------------------+
- 5 rows in set (0.00 sec)
- mysql> drop database test_db;
- Query OK, 0 rows affected (0.11 sec)
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | test |
- +--------------------+
- 4 rows in set (0.00 sec)