BS项目培训笔记第三天(java、HTML、CSS与JS)

1.mysql是一款运行在计算机中,用来保存数据的数据库软件

2.mysql是以服务的状态运行在计算机后台的

3.可以使用cmd命令,访问数据库,向数据库发送一些增删改查的命令

4.通常情况下我们会安装另外一款数据库图形化界面例如(navicat,mysqlfront)

5.确定mysql服务正常运行的情况下,可以使用不同的客户端来访问数据库,图形化界面

就是其中一种客户端,访问数据库需要知道数据库的地址(电脑的IP地址),mysql数据库的端口(默认3306),数据库的名称,数据库的登录用户名及其密码

6.使用MysqlFront步骤

新建一个连接方式(输入连接名称(随意),ip地址本机填localhost,输入用户名和密码,选择要连接的数据库)
使用新建的连接方式来连接数据库
新建一个数据库(在连接名称上面右键新建数据库,输入数据库的名称,选择数据库的编码方式为UTF-8,选择校对方式为UTF_8_UNICODE_CI),完成
根据需求分析出整个软件系统所需要的表格
分析出每个表格中保存的数据
在数据库中新建表格
SQL:适用于绝大多数数据库,用来设置数据库,设置数据库的数据
新建表格的语句:
create table 表格名称(
//建表时需要定义这张表中每一列(字段)的列名和存储的数据类型
列名 数据类型 [针对于该列的一些属性设置],
列名 数据类型,
列名 数据类型 最后一列不要加逗号
);
//mysql数据库中常用的数据类型
int:整数 varchar:字符串 datetime:时间

例子:创建数据库

– 使用哪个数据库
use chatdata;
– 新建一个用户表
create table userinfo(
– 定义一个整数类型的字段 QQ号
– 每个表中都必须有一列这一列的值是不能重复的,用以区分不同的数据行,这一列称为主键
– 使用primary key 定义某一列作为主键
– 使用auto_increment 将一个整数字段设置为自增,默认情况下会从1开始每次增加1
QQNUM int primary key auto_increment,
– 定义一个字符串类型 密码
password varchar(50) ,
– 定义一个字符串类型 昵称
nickname varchar(50),
– 定义一个字符串类型, 个性签名
sign varchar(100),
– 手机、邮箱
phone varchar(20),
email varchar(50),
– 使用字符串数据记录用户头像图片在项目中的地址
head varchar(100),
– 使用整数记录用户是否在线(0表示离线 1表示在线)
isOnline int
)auto_increment=10000;-- 修改自增字段的初始值
– 在注册时需要将用户输入的数据新增到数据库的userinfo表中
– 新增数据的语法
– insert into 表名 values(列1的值,列2的值,列3的值等等);
– 使用数据时 字符串数据使用’‘引起来
insert into userinfo values(null,‘123456’,‘马老师’,‘你好’,‘13666666666’,‘[email protected]’,’’,0);
insert into userinfo values(null,‘123456’,‘刘老师’,‘你好’,‘13888888888’,‘[email protected]’,’’,1);
insert into userinfo values(null,‘123456’,‘杨老师’,‘你好’,‘13999999999’,‘[email protected]’,’’,1);
insert into userinfo values(null,‘123456’,‘煮老师’,‘你好’,‘13555555555’,‘[email protected]’,’’,0);
– 查询数据的语法
– select * from 表名 [连接查询语句 分组语句 排序语句 条件语句]
select * from userinfo;
– 在查询是添加条件
– select * from 表名 where 条件 (等于=,大于>,小于<,大于等于>=,小于等于<=,不等于!=,模糊)
– 在添加好友时首先需要通过用户输入的QQ号来查询是否有这个用户
select * from userinfo where QQNUM=10000;
– 想要通过好友的昵称查询好友需要用到模糊查询
select * from userinfo where nickname like ‘%老师%’;
– 在登录时需要判断用户名和密码是否正确 需要用 and 来连接两个条件
select * from userinfo where QQNUM=10000 and password=123456;
– 新建好友表
create table friends(
id int primary key auto_increment,
mynum int, – 我的QQ号
friendnum int – 我好友的QQ号
);
– 添加好友其实就是向friends表中新增一行数据
insert into friends values(null,10000,10001);
insert into friends values(null,10000,10002);

insert into friends values(null,10001,10002);
insert into friends values(null,10003,10000);
– 查询我的好友 使用 or 连接两个条件 or连接的条件查询的结果将会汇总
select * from friends where mynum=10000 or friendnum=10000;
– 使用多表联合查询查询好友的详细信息
– 多表联合查询分为 内连接 左外连接 右外连接
– 内连接的语法
– select * from 表名1 inner join 表名2 on 连接条件 where 筛选条件
select * from userinfo inner join friends on userinfo.QQNUM=friends.friendnum where mynum=10000;
– 在查询数据时选择要查询的列
select userinfo.qqnum,userinfo.nickname,userinfo.sign,userinfo.head,userinfo.isonline from userinfo inner join friends on userinfo.QQNUM=friends.friendnum where mynum=10000;
– 新建聊天记录表
create table message(
id int primary key auto_increment,
sendnum int,
receivenum int,
text varchar(255),
sendtime varchar(255)
);
– 一个用户向另外一个用户发送信息,就是向message表中新增一条记录
insert into message values(null,10000,10001,‘你好’,‘2018-01-17 12:31:57’);
insert into message values(null,10001,10000,‘你好’,‘2018-01-17 12:32:57’);
insert into message values(null,10000,10001,‘吃午饭了吗?’,‘2018-01-17 12:33:01’);
insert into message values(null,10001,10000,‘吃过了!’,‘2018-01-17 12:35:57’);
insert into message values(null,10000,10001,‘再见’,‘2018-01-17 12:36:57’);
– 如果要查询10000号和10001号之间的聊天记录
select * from message where (sendnum=10000 and receivenum=10001) or (sendnum=10001 and receivenum=10000);
– 将查询出的聊天记录按照时间先后顺序排列(默认是升序排列 升序和降序排列的关键字是 asc/desc)
select * from message where (sendnum=10000 and receivenum=10001) or (sendnum=10001 and receivenum=10000) order by sendtime desc;

你可能感兴趣的:(培训笔记,MySQL)