part 1:安装及基本使用
1、安装时一定要修改路径,记住数据被存放的位置,否则会卸载不干净,无法删除。在Java后阶视频里有具体安装方法,还有一个安装文档,不过不详细,最好还是看视频安装不会出错。
2、在初始界面是不要用自带的,一定要新建数据库,左图是自带数据库。新建一个mybase数据库然后在mybase数据库中进行操作
把界面刷新一下便可以显示出来自己新建的数据库,一定要注意检查是否是在自己新建的数据库中进行的操作。
part 2:遇到的问题
1、在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”
在cmd模式下输入net start mysql即可,有时弹出拒绝访问,管理员身份运行即可
2、
在MySQL调试代码:
CREATE TABLE product(
id INT PRIMARY KEY AUTO_INCREMENT,
pname VARCHAR(100) NOT NULL,
price DOUBLE
);
出现如下问题:
INSERT INTO product (id,pname,price) VALUES (1,'笔记本',5555.99);
Query : insert into product (id,pname,price) values (1,'笔记本',5555.99)
Error Code : 1062
Duplicate entry '1' for key 'PRIMARY'
是由于重复执行语句造成的,设定了id为PRIMARY KEY的格式,重复执行就会造成错误,解决方法可以删除表再重新执行就行
part 3:语法
这部分语法主要针对的是单表操作,实际上多表操作才是关键,但由于视频中没讲因此不涉及,后面应找一本数据库方面的书补充上


1 CREATE database mybase -- 创建一个人的数据库(-- 空格注释,别用中文符号) 2 3 use mybase -- 使用创建好的数据库,在sqlyog中会自动跳转,但也要注释自己是在哪个数据库中操作的 4 -- 数据不要使用系统自带的,最好要自己创建 5 6 -- drop table zhangwu 删除表 7 -- drop database mybase 删除数据库 8 9 -- 创建一个数据表,数据库中的信息都是在数据表中存放的 10 CREATE TABLE zhangwu ( 11 id INT PRIMARY KEY AUTO_INCREMENT, -- 账务id,primary key代表的是主键约束,非空,特点是实现自动增长 12 zname VARCHAR(200), -- 没有字符串这种定义 13 zmoney DOUBLE -- 金额 14 ); 15 16 INSERT INTO zhangwu(id,zname,zmoney) VALUES (1,'吃饭支出',247); -- 添加内容 17 18 INSERT INTO zhangwu(zname,zmoney) VALUES ('工资收入',12345); -- 可以不要id添加,会自动加入前面一条语句之后 19 20 INSERT INTO zhangwu VALUES (3,'服装支出',1000); -- 也可以直接添加 21 22 INSERT INTO zhangwu(zname,zmoney) VALUES 23 ('吃饭支出',325), 24 ('股票收入',8000), 25 ('打麻将支出',8000), 26 (NULL,5000) -- 也可以整体组合添加,注意最后一条语句结尾是没有分号的 27 28 /* 29 添加列,添加字段 30 alter table 表名 add 列名 数据类型 约束 31 32 修改列, 在原有的列上修改 33 alter table 表名 modify 列名 数据类型 约束 34 35 修改列名 36 alter table 表名 change 旧列名 新列名 数据类型 约束 37 38 删除列 39 alter table 表名 drop 列名 40 41 修改表名 42 rename table 表名 to 新名 43 44 对数据进行更新操作 45 数据在原有的基础上修改 46 格式: 47 update 表名 set 列1=值1,列2=值2 where 条件 48 where 条件: 数据中的唯一性 49 50 修改条件的写法 51 id=6 52 id<>6 53 id<=6 54 与或非 && || ! 55 && and 56 || or 57 ! not 58 59 id in (1,3,4,5,6) 包含 60 61 删除表中的数据 62 格式: 63 delete from 表名 where 条件 64 65 drop table 表名 删除整个数据表 66 67 */ 68 69 70 /* 71 查询指定列的数据 72 格式: 73 select 列名1,列名2 from 表名 74 */ 75 SELECT zname,zmoney FROM zhangwu; 76 77 /* 78 查询所有列的数据 79 格式: 80 select * from 表名 81 */ 82 SELECT * FROM zhangwu; 83 84 /* 85 查询去掉重复记录 86 DISTINCT 关键字 跟随列名 87 */ 88 SELECT DISTINCT zname FROM zhangwu 89 90 /* 91 查询重新命名列 92 as 关键字 93 */ 94 SELECT zname AS 'name' FROM zhangwu 95 96 /* 97 查询数据中,直接进行数学计算 98 列对数字进行计算 99 */ 100 SELECT zname,zmoney+1000 AS'sum' FROM zhangwu 101 102 -- 查询所有的吃饭支出 103 SELECT * FROM zhangwu WHERE zname='吃饭支出' 104 105 -- 查询金额大于1000 106 SELECT * FROM zhangwu WHERE zmoney>1000 107 108 -- 查询金额在2000到5000之间 109 SELECT * FROM zhangwu WHERE zmoney >= 2000 AND zmoney <= 5000 110 -- 改造成between and 方式 111 SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000 112 113 -- 查询金额是 1000,3500,5000 其中一个 114 SELECT * FROM zhangwu WHERE zmoney = 1000 OR zmoney=3500 OR zmoney=5000 115 -- 改造成in方式 116 SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000) 117 118 119 -- like 模糊查询 配合通配符 120 -- 查询所有的支出 121 SELECT * FROM zhangwu WHERE zname LIKE '%支出%' 122 123 124 -- 查询账务名字,五个字符的 125 SELECT * FROM zhangwu WHERE zname LIKE'_____' 126 127 -- 查询账务名,不为空的 128 SELECT * FROM zhangwu WHERE zname IS NOT NULL 129 130 SELECT * FROM zhangwu WHERE NOT ( zname IS NULL)