来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] 说明:这里是在win7下安装的,新版本的mysql安装与之前有不同。1、下载mysql-5 5 20-win32 zip,解压到D: dev,D盘的dev文件夹下就会出现mysql-5 5 20-win32目录,将其重命名为mysql。 2、配置MYSQL的...
说明:这里是在win7下安装的,新版本的mysql安装与之前有不同。
1、下载mysql-5.5.20-win32.zip,解压到D:\dev,D盘的dev文件夹下就会出现mysql-5.5.20-win32目录,将其重命名为mysql。 2、配置MYSQL的环境变量 新增系统变量MYSQL_HOME: D:\dev\mysql 在PATH变量的最后面添加: ;%MYSQL_HOME%\bin 保存即可。 3、打开文件my-default.ini另存为my.ini,删除my.ini中的所有配置,在my.ini文件中加入如下简单配置:(my.ini是保存在与my-default.ini同一个目录下的)(#表示注释) Mysql代码 # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 [mysql] #设置mysql客户端的字符集 default-character-set = utf8 # The MySQL server [mysqld] port = 3306 #设置mysql的安装目录 basedir = D:\dev\mysql #设置mysql数据库的数据存放目录,必须是data或者\xxx-data datadir = D:\dev\mysql\data #设置服务器段的字符集 character_set_server = utf8 4、注册服务 开始菜单,搜索cmd,单击右键“以管理员身份运行”,输入命令: Mysql代码mysqld --install mysql --defaults-file=d:\dev\mysql\my.ini (如果此时“出现Install/Remove of the Service Denied!”的错误,说明cmd不是以管理员身份运行 或着, 开始菜单,搜索cmd,单击右键“以管理员身份运行”,输入命令: Mysql代码mysqld --install mysql 在“服务”中就会出现mysql这一项。 ) 5、启动服务(开始菜单,搜索cmd,单击右键“以管理员身份运行”): Mysql代码net start mysql (如果此时启动有问题,如1067错误,一般是你的my.ini文件有问题,你检查一下看看,如果确认没有问题,或者你更改过,那执行以下步骤: %mysqlhome%\bin>mysqld-nt --remove Service successfully removed. 然后重新执行步骤4 ) 停止服务: Mysql代码net stop mysql 6、服务启动后: 登录MySQL服务器: 命令格式: Mysql代码mysql -h hostname -u username -p (这里-h不要也可以,有可能出现can't connect to MySQL server on 'localhost'错误,这个需要修改windows的hosts文件,加上127.0.0.1 localhost) 或 Mysql代码mysql -hhostname -uusername -p 命令说明:mysql命令将调用MySQL监视程序,这是一个可以将我们连接到MySQL服务器端的客户端命令行工具。 选项说明: -h选项:用于指定所希望连接的主机,即运行MySQL服务器的机器。如果在运行MySQL服务器的机器上运行该命令,则可以忽略该选项和hostname参数;如果不是,必须用运行MySQL服务器的主机名称来代替主机名称参数。 -u命令:用于指定连接数据库时使用的用户名称。 -p命令:用于指定用户输入的密码 此时我本机安装了MYSQL,可忽略该选项和hostname参数: Mysql代码mysql -uroot -p 注: MySQL的管理员用户名为root,密码默认为空 ,所以要你输密码时候直接回车即可 修改root密码 MySQL配置好后,启动成功,默认密码是空,但是为了安全,设置密码(MySQL有一个默认用户名为root,密码自己设定:假如设为root)。 1)登录MySQL root用户: 打开命令行,执行: Mysql代码mysql -uroot -p 2)修改root密码: Mysql代码mysql> update mysql.user set password="root" where User="root"; mysql> flush privileges; 修改该修改密码的语句:update mysql.user set password="root" where User="root"; 为: update mysql.user set password=password("root") where User="root"; 详细说明:见最底下的补充说明。 以后再进入MySQL,则为: Mysql代码mysql -uroot -proot 7、常用命令: Mysql代码create database new_dbname;--新建数据库 show databases;--显示数据库 use databasename;--使用数据库 select database();--查看已选择的数据库 show tables;--显示当前库的所有表 create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..)[ENGINE=engine_name];--创建表 create table tablename select statement;--通过子查询创建表 desc tablename;--查看表结构 show create table tablename;--查看建表语句 alter table tablename add new_fielname new_fieldtype;--新增列 alter table tablename add new_fielname new_fieldtype after 列名1;--在列名1后新增列 alter table tablename modify fieldname new_fieldtype;--修改列 alter table tablename drop fieldname;--删除列 alter table tablename_old rename tablename_new;--表重命名 insert into tablename(fieldname1,fieldname2,fieldnamen) valuse(value1,value2,valuen);--增 delete from tablename [where fieldname=value];--删 update tablename set fieldname1=new_value where filename2=value;--改 select * from tablename [where filename=value];--查 truncate table tablename;--清空表中所有数据,DDL语句 show engines;--查看mysql现在已提供的存储引擎: show variables like '%storage_engine%';--查看mysql当前默认的存储引擎 show create table tablename;--查看某张表用的存储引擎(结果的"ENGINE="部分) alter table tablename ENGINE=InnoDB--修改引擎 create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..) ENGINE=engine_name;--创建表时设置存储引擎 8、例如: (1)登录MySQL服务器后,查看当前时间,登录的用户以及数据库的版本 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代码mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.03 sec) (3)新增数据库并查看 Mysql代码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代码mysql> use test_db; Database changed 查看已选择的数据库: Mysql代码mysql> select database(); +------------+ | database() | +------------+ | test_db | +------------+ 1 row in set (0.00 sec) (5)显示当前数据库的所有数据表 Mysql代码mysql> show tables; Empty set (0.00 sec) (6)新建数据表并查看 Mysql代码mysql> create table person( -> id int, -> name varchar(20), -> sex char(1), -> birth date -> ); Query OK, 0 rows affected (0.09 sec) Mysql代码 mysql> show tables; +-------------------+ | Tables_in_test_db | +-------------------+ | person | +-------------------+ 1 row in set (0.00 sec) (7)获取表结构 Mysql代码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代码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代码mysql> select * from person; Empty set (0.00 sec) (9)插入数据 Mysql代码mysql> insert into person(id,name,sex,birth) -> values(1,'zhangsan','1','1990-01-08'); Query OK, 1 row affected (0.04 sec) 查询表中的数据: Mysql代码mysql> select * from person; +------+----------+------+------------+ | id | name | sex | birth | +------+----------+------+------------+ | 1 | zhangsan | 1 | 1990-01-08 | +------+----------+------+------------+ 1 row in set (0.00 sec) (10)修改字段的类型 Mysql代码mysql> alter table person modify sex char(8); Query OK, 1 row affected (0.17 sec) Records: 1 Duplicates: 0 Warnings: 0 查看字段描述: Mysql代码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代码mysql> alter table person add(address varchar(50)); Query OK, 1 row affected (0.27 sec) Records: 1 Duplicates: 0 Warnings: 0 查看字段描述: Mysql代码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代码mysql> select * from person; +------+----------+------+------------+---------+ | id | name | sex | birth | address | +------+----------+------+------------+---------+ | 1 | zhangsan | 1 | 1990-01-08 | NULL | +------+----------+------+------------+---------+ 1 row in set (0.00 sec) 修改: Mysql代码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代码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代码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代码mysql> delete from person; Query OK, 2 rows affected (0.04 sec) mysql> select * from person; Empty set (0.00 sec) (14)重命名表 查看重命名前的表名: Mysql代码mysql> show tables; +-------------------+ | Tables_in_test_db | +-------------------+ | person | +-------------------+ 1 row in set (0.00 sec) 重命名: Mysql代码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代码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代码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代码mysql> drop table person_test; Query OK, 0 rows affected (0.04 sec) mysql> show tables; Empty set (0.00 sec) (17)删除数据库 Mysql代码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) (18)查看建表语句 Mysql代码mysql> show create table table_name; 补充说明: update mysql.user set password="root" where User="root";修改的不是密码,如果按照这个方式修改了,重新登录时将会报错: Mysql代码mysql> update mysql.user set password="root" where User="root"; Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> exit Bye C:\Users\liqiong>mysql -uroot -p Enter password: **** ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y ES) 请按照以下方式重新修改密码,即可登录成功: Mysql代码C:\Users\liqiong>mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.5.20 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> update mysql.user set password=password("root") where User="root"; Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye C:\Users\liqiong>mysql -uroot -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5.20 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com