今天是学习这个的第一天,刚开始看了一遍视频,感觉 智障了,怎么这么多要背的! 后来发现,无外乎增删改查!
一、打了无数遍 :create drop select update insert into value 还有 一些关键的 应用
二、select 讲述的最多 , 今天就学了一个关于学生成绩的判断 判断里面 一定要记得 where ,并且里面基础的判断符号和java也不一样 and 与 or或 between and 包含 相当于了 java 里面的 && || , 还有 一个等于 java里面是 == ,而mysql 里面则是=
三、关键 一些知识
1、like 的 模糊查询 这个 很重要
2、查询所有的 表内容 select*from 表名 这个 之后 就是各种判断了
3、换名字 select 列名 , 你设置的列名 数学!
select name,math 数学 就是这个样子
4、如果 你的表中 出现了null 这个 不要惧怕
select name, math,english,math+ifnull(english,0)from student
也就是 你那个地方 有问题 来一个 IFNULL(),这里面前半部分就是有问题的列,后面就是你想设置的值
5、创建表的时候 create table 表名 你设置的 数据信息一定要看清
逗号 分号 都是英文的 ,不同的 数据类型 varchar(20) int 跟的 是不同的 还有一个时间的date 标准格式yyyy-MM-dd
6、 修改数据 update 表名 set age=17 where id=2; 判断语句 一定要加 要不然 爆炸了!
7、truncate table 表名删除表 然后在创建!
8、INSERT INTO 表名()values() 一定要一 一对应 否则 报错!
9、 use 表名; 想用 哪个 use 哪个
10、 不清楚 写啥的 时候 desc 表名 ,看看表结构
USE db1; -- 使用db1
DESC stu; -- 查看表结构
INSERT INTO stu(id,NAME,age)VALUES(1,'张无忌',18);
-- DQL 查询表中语句
SELECT*FROM stu;
INSERT INTO stu VALUES(2,'赵敏',17,99.9,NULL,NULL);
INSERT INTO stu VALUES(3,'张三丰',17,99.9,"1898--11-11",NULL);
DELETE FROM stu WHERE id=1
TRUNCATE TABLE stu;-- 删除表 ,然后在创建一个 一模一样的空表
-- 修改数据 update
SELECT*FROM stu
UPDATE stu SET age=117 WHERE id=3;
UPDATE stu SET age=18 ,score=100 WHERE id=2;
-- 注意如果不加任何条件,则将会把 表中 所有数据 修改
UPDATE stu SET age = 20;
-- 查询表中的记录
SELECT*FROM stu;
CREATE TABLE student(
id INT, -- 编号
NAME VARCHAR(20), -- 姓名
age INT, -- 年龄
sex VARCHAR(5), -- 性别
address VARCHAR(100), -- 地址
math INT, -- 数学
engligsh INT -- 英语
);
INSERT INTO student(id,NAME,age,sex,address,math,engligsh)VALUES(1,'小黑',18,'男','黑河',88,99),
(2,'小白',19,'女','白河',88,89),(3,'大大',19,'男','白河',77,66),(4,'小小',18,'女',' 老黑山',99,66),
(5,'竹叶青',15,'女','青城山',NULL,100);
TRUNCATE TABLE student ;
DROP TABLE student;
TRUNCATE TABLE student;
DESC student ;
SELECT*FROM student;
-- 查询姓名和年龄v 字段的列表
SELECT NAME,age FROM student;
SELECT*FROM student;
-- 地址字段
SELECT address FROM student;
-- 去除重复的结果集
SELECT DISTINCT address FROM student;
-- 谁来自于那个地方
SELECT DISTINCT NAME,address FROM student;
-- 算总分
SELECT NAME,math,engligsh, math+engligsh FROM student;
-- 如果有null 参与的 计算 计算结果 都是 null
SELECT NAME,math,engligsh,math+IFNULL(engligsh,0)FROM student;
-- 起别名
SELECT NAME,math 数学 ,engligsh 英语,math+IFNULL(engligsh,0) AS 总分 FROM student;
-- where 条件查询 2、运算符
SELECT *FROM student;
-- 查询年龄 大于 20岁的
SELECT*FROM student WHERE age>20;
SELECT*FROM student WHERE age=18;
SELECT*FROM student WHERE age!=18;
-- 查询 年龄 大于等于20 小于等于30
SELECT*FROM student WHERE age>=15 AND age<=20;
SELECT*FROM student WHERE age BETWEEN 18 AND 30;
-- 查询年龄 22岁 19岁 25 岁
SELECT*FROM student WHERE age=22 OR age=19 OR age=15;
SELECT*FROM student WHERE age IN(22,18,15);
SELECT*FROM student WHERE math IS NULL;
SELECT*FROM student WHERE math IS NOT NULL;
-- 模糊查询 姓名 小的 有哪些
SELECT* FROM student WHERE NAME LIKE '小%';
-- 查询姓名 第二个 字是黑的 人
SELECT*FROM student WHERE NAME LIKE '_黑%';
SELECT*FROM student WHERE NAME LIKE '___';
-- 查询姓名中包含马的人
SELECT*FROM student WHERE NAME LIKE'%叶%';
ps:键盘敲烂 月薪过万! 敲烂三个键盘就是我买金项链的日子!