#MySQL 基本应用
##MySQL 概述
1)软件(Software)
2)数据库管理系统(DBMS)
2.1)关系型数据库管理系统(Oracle,SQLServer,DB2,MySQL)
2.2)非关系型数据库管理系统(NoSQL):redis
3)关系型数据库管理系统(RDBMS)
MySQL 相关网站:
1)www.oracle.com
2)www.mysql.com
3)www.itpub.net
##MySQL 特点
1)简单(尤其是安装,当然使用也相对比较简单)
2)功能强大
3)有开放版本
##MySQL 应用架构(基于C/S架构)
1)Server
2)Client
通讯协议:TCP/IP
##MySQL 的登录与退出
- MySQL登录(登入本机电脑中数据库)
mysql -u root -p :之后输入密码
- MySQL 退出
a)quit
b)exit
##MySQL 基本指令的应用
1)status 查看当前数据库系统的状态信息
2)show databases;查看当前用户下的数据库
3)select user(); 查看当前登录用户(在mysql中没有dual伪表)
4)select now(); 查看当前日期时间
5)? functions (?表示帮助,functions 表示函数)
这里的?等价于help ,例如 ? show 等价于help show.
##MySQL 中基本SQL的应用
1.数据库相关SQL语句
-
显示当前用户下的数据库
show databases; -
创建数据库(语法参考 ? create database)
create database pms;
create database if not exists pms;
create database if not exists pms character set utf8;
在mysql中一个用户下可以有很多数据库(DB) -
使用或打开数据库
use database;
查看当前正在使用的数据库: select database(); -
删除数据库(语法参考 ? drop database)
drop database pms;
drop database if exists pms;
2.MySQL 中表的相关操作(DDL)
- 创建表(语法 ? create table )
create table if not exists pet(
id int primary key auto_increment,
name varchar(100) not null
);
当需要了解具体类型时可以: ? 具体数据类型
例如 ? int
当需要查看某张表的创建语句时,可以使用
show create table pet
当需要显示表结构时可以使用:
desc pet - 修改表(语法? alter table )
- 删除表(语法 ? drop table)
drop table if exists pet;
3.MySQL 中表中数据的操作(DML)
-
向表中写入数据(insert)
insert into pet values(null,‘A’)
insert into pet(id,name) values (null,‘B’);
insert into pet(name)values(‘C’);
insert into pet(name)values(‘D’),(‘E’); -
查询表中数据(select)
select * from pet;
select id,name from pet;
select id,name from pet where id=10;分页查询: limit 语句的应用(语法参考? select)
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
其中offset为偏移量:第n-1页最后一个数的序号select * from pet
limit 2; --2为row_count (表示要取几条数据)select * from pet
limit 4,2; --4表示offset,2表示 row_countselect *from pet
limit 2 offset 4; --2表示row_count,4表示 offset分页算法分析:
1)现有100条记录,每页显示3条记录,总计分多少页.
int rowCount=100;
int pageSize=3;
int pageCount=rowCount/pageSize;
if(rowCount%pageSize!=0){
pageCount++;
}
2)通过编写sql获取第7页数据.select *from 表名 limit 18,3 其中offset为18=(7-1)*3
-
更新表中数据(语法参考? update)
-
删除表中数据(语法参考? delete)
##MySQL 中source 指令的应用
mysql中我们通常会借助source指令执行一些SQL文件
source指令应用步骤:
1)首先登陆数据库
2)设置控制台编码(需要与.sql文件编码一致)
例如:set names utf8
3)执行source指令:
例如:source d:/ttmswork/day01/test.sql
对于windows 平台在mysql客户端显示中文时
建议先执行set names gbk;
#导入先人maven项目常做的事
1.导入步骤
1)选择file/import/general/exising projects into workspace
2)右键项目选择team/断开svn连接(ttms1.0项目有svn的配置
信息):选择删除svn信息
3)右键项目/选择maven/update project/记得选中force update …
4)右键项目/properties
4.1) 修改targetted runtimes
4.2) 修改project facets 中的java版本
5)刷新或clean项目即可.
假如重新执行了maven update,需要再次执行步骤四.
2.修改项目数据库配置信息: jdbc.properties
#问题集
1)页面数据乱码问题?
a)先检测数据库中数据是否为乱码
b)检查项目编码
2)能登录成功,但页面没有数据?
a)先检测表中是否有数据(假如没有数据按指定编码重写导入)
set names utf8;
source d:/…/ttms.sql
3)数据导入以后,数据端是乱码?
a)导入数据时没有设置编码
b)window系统在客户端显示时可以设置set names gbk
4)访问页面时出现404错误?(资源没有找到)
a)先检测tomcat是否正常启动.(切记不能只看最后一行)
b)检测输入的路径,端口是否正确.
系统异常的总体解决思路?
1)when :什么时候出的问题
2)What: 是什么问题(建议看错误的完整信息,一般看5行左右)
3)Where: 哪里的错
4)why:为什么会有这个错
5)how:如何解决这个问题呢
#项目信息管理模块图示