MySQL安装与配置、数据库概念

来源:互联网 发布:12年总决赛波什数据 编辑:程序博客网 时间:2024/06/08 01:12

1.      MySQL安装与配置

1.1.      安装

将mysql-5.0.27-win32.rar压缩文件解压

 

运行Setup.exe

 

 

 

Typical: 常用模式, 包含一些常用的模块

Complete: 完整模式, 包含所有模块

Custom: 自定义, 根据需要选择安装

 

选择所有组件, 安装到本地硬盘

 

选择安装路径

 

确定所选内容, 开始安装

 

选择跳过登陆注册

 

安装完成进入配置页面

1.2.      配置

开始配置


Detailed: 详细配置

Standard: 标准配置

我们需要根据用途选择, 所以选详细配置

 

服务器类型

关系到内存, 硬盘空间, 以及CPU使用

Developer: 程序员机器, 占用尽量小的资源

Server: 服务器, 占用中等资源

Dedicated: 数据库专用服务器, 占用所有资源

 

数据库用途

 

数据存放路径

默认为安装目录

 

并发连接数

根据实际需要选择

 

网络设置

启用TCP/IP连接: 如果不启动, 只能本地操作

启用精确模式: 不允许任何语法错误, 推荐开启

 

默认编码

Latin1, 不支持中文

UTF-8为国际通用码表

由于我们Windows本地码表为GBK, 也可选择GBK, 省去乱码的麻烦

 

系统选项

将MySQL安装为Windows服务, 自动启动

将MySQL目录添加到PATH环境变量, 以后可以直接从命令行启动

 

权限选项

设置root用户的密码

 

运行配置项

1.3.      运行

在cmd.exe中输入mysql –uroot –proot

或者mysql –uroot –p 回车之后输入密码, 密码不可见

2.      数据库概念

2.1.      数据库服务器、数据库和表之间的关系

所谓安装数据库服务器, 只是在机器上安装了一个数据库管理程序, 这个管理程序可以管理多个数据库.

一般开发人员在设计项目的时候会针对每一个应用创建一个数据库.

为了保存每一类实体, 在一个数据库中创建多个表.

 

2.2.      数据在数据库中的存储方式

id=1                      id=2

name=Tom            name=Jerry

age=18                  age=20

 

列(column)              列(column)        列(column)

id

name

     age

     1

    Tom

     18

     2

    Jerry

     20

 

 

 

 

行(row)

行(row)

 

 

每一行(一条记录)对应Java中的一个对象

每一列对应对象的一个属性

3.      操作库

创建库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数[ 参数] [ 参数]...];

参数:

       CHARACTER SET 码表名

       COLLATE 校对规则名   参见帮助文档第10章

命令:show character set;可以显示MySQL支持的字符集和校对规则

 

Show collation like ‘latin1%’;   显示latin1字符集可以采用的校对规则

 

显示库

       SHOW DATABASES;

显示数据库创建语句

       SHOW CREATE DATABASE 数据库名; 查看数据库所采用的字符集

修改库

       ALTER DATABASE 数据库名[ 参数[ 参数][ 参数]...];

       注意: 不能改数据库的名字

删除库

       DROP DATABASE [IF EXISTS] 数据库名;

练习:

       创建一个数据库db1

创建一个数据库db2指定字符编码, 校对规则

显示所有数据库

显示db2的字符编码

将db2的字符编码设置为gbk

删除db2数据库

4.      操作表

操作表之前使用需要先确定使用哪个数据库

       USE 数据库名

创建表

CREATE TABLE 表名(列名 类型[,列名 类型][,列名 类型]...);

具体类型说明可参见MySQL文档第11章

查看所有表

       SHOW TABLES;

查看表的创建语句

       SHOW CREATE TABLE 表名;

显示表结构

       DESC 表名;

修改表名

       RENAME TABLE 原表名 TO 新表名;

修改字符集

       ALTER TABLE 表名 CHARACTER SET 字符集名;

删除表

       DROP TABLE 表名;

练习

       创建表employee, 包含以下字段:

id                          整型                            主键, 自动生成

name                     字符                            非空

gender                   字符或bit                    非空

birthday                 日期                           

entry_date             日期                            非空

position                 字符                           

salary                    小数                           

resume                  大文本

将表名改为user

显示表结构

5.      操作列

追加列

    ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;

修改列类型

       ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;

修改列

       ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;

删除列

       ALTER TABLE 表名 DROP 列名;

练习

       添加一列用来存储照片

将name长度修改为30

将name改名为username

删除photo列

 

 

Insert into

Update

delete

select

6.      操作数据(增删改)

6.1.      插入

语法:

       INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);

注意事项:

       插入值类型必须与对应列的数据类型一致

       数据不能超出长度

       插入值得为之必须与列名顺序一致

       字符和日期数据要放在单引号中

       插入空值使用null

       如果不指定插入哪一列, 就是插入所有列

中文数据

       由于默认码表是utf8, 而cmd.exe的码表是gbk, 在插入中文数据的时候会报错, 所以我们需要修改客户端码表

       先查看系统变量: SHOW VARIABLES LIKE 'character%';

       修改客户端码表: SET character_set_client=gbk;

       这样就解决了中文插入的问题, 但在查询数据的时候仍然显示为乱码, 这是因为mysql向cmd传输数据的时候使用的是utf8

       修改输出数据的码表: SET character_set_results=gbk;

练习

       向user表中插入3条包含中文的数据

insert into user(id,username,gender,birthday,position,salary,resume)

values(1,'张三','男','1990-9-9','程序员',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(2,'李四','男','1990-9-9','程序员',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(3,'王五','男','1990-9-9','测试',6000,'介绍');

 

insert into user(id,username,gender,birthday,position,salary,resume)

values(4,'赵六','男','1990-9-9','美工 ',6000,'介绍');

 

6.2.      修改

语法

       UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句];

注意事项

       WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行

练习

       将所有员工的薪水改为5000

       将姓名为张三的员工薪水改为7000

       给李四加薪3000, 并且职位改为经理

6.3.      删除

语法

       DELETE FROM 表名 [where 条件语句]

注意事项

       如果不加where子句, 将删除表中所有记录

       delete只能用作删除行, 不能删除某一列的值, 需要用update

       在delete和update的时候需要注意表与表之间的关联关系

       删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用。

原创粉丝点击