mysql数据库,安装 !创建!...详解!

时间:2023-03-09 16:33:19
mysql数据库,安装 !创建!...详解!
package cn.jiayou;
/*
一、mysql?
a.MySQL是Web世界中使用最广泛的数据库服务器。
SQLite的特点?
1.是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。
2.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。
3.此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB。
-------------------------------------------------------------------------------------------------
b.mysql的卸载安装?
卸载?
1.在360管家中找到,卸载。
2.在文件夹中找到mysql文件夹和隐藏文件的目录, 删除mysql!
3.命令行 regedit 清理注册表
注意!【卸载不完全,会造成再次安装时出现问题!】 安装? 一路点下去,需要注意的下面有写!
1.下载后,点击安装,选择custom,自定义安装。
2.修改小红叉,选择第一个。(有的计算机不用这一步,看documentation是不是小红叉);
3.初学者,不建议更改安装路径。修改只需将C:\xxxxxx; 中C 改为想要硬盘即可!
4.选择第一个 detailed 后面一样的。
5.选择Manual Setting 下拉类表中30; 默认端口3306
6.编码格式 utf8,选择第三个
7.下一步,环境变量勾选上!
8.用户名 和登录密码!自己设置,很重要!建议root!
9.命令行中 输入mysql -uroot -p
10输入密码。
11.显示
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.49 MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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. 12.安装成功! 13.查看数据库中都有啥?
show databases; 显示所有数据表
desc user 查看表中结构
drop table users 删除数据表   14. 在命令行中解决乱码问题?
    set names gbk;
-----------------------------------------------------------------------------------------------------
二、创建数据库?
1.create datebase 数据库名;
create database 周旭峰;
2.使用数据库?
use 数据库名;
3.创建数据表的格式 【注意逗号 】
create table 表名(
列名1 数据类型 约束,
列名1 数据类型 约束,
列名1 数据类型 约束
);
创建用户表,用户编号,姓名,用户的地址 将编号列,设置为主键约束保证列的数据唯一性
非空性 primary key AUTO_INCREMENT 让主键列数据,实现自动增长!
4.表的操作?
show tables 显示所有数据表
desc users 查看表中结构
drop table users 删除数据表
三、修改表结构
1.添加列 ,添加字段。
alter table 表名 add 列名 数据类型 约束
alter table users add Tel int; 2.修改列,在原有的列上修改 修改列名的数据类型 约束!
alter table 表名 modify 列名 数据类型 约束。
alter table user modify tel varchar(); 之前tel 是int类型 修改为 varchar 类型! 3.修改列名
alter table 表名 change 旧列名 新列名数据类型 约束
alter table user change tall newtall double; 4.删除列?
alter table user drop 列名
5.修改表名?
rename table users to newuserer; 四、向数据库中添加数据
create table product{
ID int primary key auto_increment; 主键列 ,自动增长!
name varchar() not null, 商品名字,可变字符,非空
price double 商品的价格, double。
}
1.在数据表中添加数据 insert!
insert into 表名(列名1,列名2,列名3) values (值1,值2,值3) 【注意:对应问题和类型问题】 insert into product(ID ,name,price)values ( ,‘电脑’,);
insert into product(ID ,name ,price)values(,‘电脑’,) 2.添加数据格式,不考虑主键
格式: insert into 表名 (列名) values (值)
INSERT INTO product (pname,price) VALUES('洗衣机',800); 3.添加数据格式,所有值全给出
格式: insert into 表名 values (全列值)
INSERT INTO product VALUES (4,'微波炉',300.25); 4.添加数据格式,批量写入
格式: insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3); 五、修改表中数据
1.对数据进行更新操作数据在原有的基础上修改
格式:
update 表名 set 列1=值1,列2=值2 where 条件
where 条件: 数据中的唯一性 update product set price=6666 where ID=2;
update product set name='手电',price=100 where id=6; 修改条件的写法
id=6 等于,不要写双等于
id<>6 不等于
id<=6 与或非 && || !
&&要写成 and
||要写成 or
! 要写成 not id in (1,3,4,5,6) 包含
update product set price= 3000 where ID=1 or id=5;\
2. 删除表中的数据
格式: delete from 表名 where 条件
drop table 表名 删除整个数据表
还有一个truncate方法也是删除,区别在于删除后重建新表,自增重新开始,而delete方法不影响自增 delete form product where ID=8; 【注意!】如果打开命令行会发现出现乱码问题,解决办法:在控制台中如果想显示正常的汉字,加入这一行:SET NAMES gbk; 六、查询表中的数据
1. 查询指定列的数据
格式: select 列名1,列名2 from 表名
select price form product; 2. 查询所有列的数据
格式: select * from 表名 select * from product; 3.查询去掉重复记录 DISTINCT 关键字 跟随列名 select distinct price from product; 4.查询重新命名列 as 关键字
select price as 'name' form product ; 5.查询数据中,直接进行数学计算 列对数字进行计算
select price +1000 as 'jaiqian' from product; SELECT zname,zmoney+1000 AS'sum' FROM zhangwu -- 查询所有的吃饭支出
SELECT * FROM zhangwu WHERE zname='吃饭支出' -- 查询金额大于1000
SELECT * FROM zhangwu WHERE zmoney>1000 -- 查询金额在2000到5000之间
SELECT * FROM zhangwu WHERE zmoney >= 2000 AND zmoney <= 5000
-- 改造成between and 方式
SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000 -- 查询金额是 1000,3500,5000 其中一个
SELECT * FROM zhangwu WHERE zmoney = 1000 OR zmoney=3500 OR zmoney=5000
-- 改造成in方式
SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000) CREATE TABLE zhangwu (
id INT PRIMARY KEY AUTO_INCREMENT, -- 账务ID
zname VARCHAR(200), -- 账务名称
zmoney DOUBLE -- 金额
);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (1,'吃饭支出',247);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (2,'工资收入',12345);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (3,'服装支出',1000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (4,'吃饭支出',325);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (5,'股票收入',8000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (6,'打麻将支出',8000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000); 七、排序查询
查询,对结果集进行排序 升序,降序,对指定列排序 order by 列名 [desc][asc]
desc 降序
asc 升序排列,可以不写
升序?
select * from product order by price ASC;
降序?
select * from product order by price desc; - 查询账务表,查询所有的支出,对金额降序排列
-- 先过滤条件 where 查询的结果再排序
select * from zhangwu where zname like'%支出' oreder by zmoney desc; 八、聚合函数?---------使用聚合函数查询计算.
1. -- count 求和,对表中的数据的个数求和 count(列名)
-- 查询统计账务表中,一共有多少条数据
select count (*)as'count' form zhagwu;
2.sum 求和?
select sum(zmoney) from zhangwu; 3.max函数 对其列数据,获得最大值?
select max (zmoney) from zhangwu 4.avg 函数 ,计算一个列所有数据的平均数
select avg(zmoney) from zhangwu 九、分组查询
查询所有的数据?
吃饭支出 共计多少
工资收入 共计多少
服装支出 共计多少
股票收入 共计多少
打麻将支出 共计多少钱 分组查询: group by 被分组的列名
必须跟随聚合函数
select 查询的时候,被分组的列,要出现在select 选择列的后面 SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname -- 对zname内容进行分组查询求和,但是只要支出
SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%'
GROUP BY zname
ORDER BY getsum DESC -- 对zname内容进行分组查询求和,但是只要支出, 显示金额大于5000
-- 结果集是分组查询后,再次进行筛选,不能使用where, 分组后再次过滤,关键字 having
SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%'
GROUP BY zname HAVING getsum>5000 十、多练 ! 所有代码都在命令行中敲。暂时不要使用工具。 */
public class MySql数据库笔记 {
}