MySQL个人复习1

SQL语言是跟数据库交互的语言,进行数据库管理的语言

全程Structure Quary Lanuage 结构化查询语句

首先是创建数据库

Create database day15;

default character set utf8; -- 指定默认字符集创建数据库

然后创建表(Table)

create table student(

         sid INT PRIMARY KEY AUTO_INCREAMENT, -- 自增长约束

         sname VARCHAR(20),

         sage INT

);

一、增删改数据

1.1、增加数据

-- 插入所有字段,一定依次按顺序插入(注意:不能多字段,也不少字段)

INSERT INTO student VALUES(1, '张三', 20);

-- 插入部分字段

INSERT INTO student(sid, sname) VALUES(2, '李四');

1.2、修改数据

-- 修改所有数据

UPDATE student SET sage='20';

-- 带条件修改(推荐使用)

UPDATE student SET sage='20', sname='李四'  WHERE sid=1;

1.3 删除数据

-- 删除所有数据(临时删除)

DELETE FROM student;

-- 删除所有数据(直接删除,不能带条件)

TRUNCATE TABLE student;

-- 带条件删除数据

DELETE FROM student WHERE sid = 2;

二、查询(SELECT)

2.1、查询所有列

SELECT *  FROM student;

2.2、查询指定列

SELECT sid,sname FROM student;

-- 查询时可以指定别名(AS)

多表查询时后,表的别名就很有用!!

SELECT sid AS '编号',NAME AS '姓名' FROM student AS s ;

2.3 查询时添加常量列

--在查询student表时,添加一列(班级)

SELECT sid, sname,sage,'班级' AS '年级' FROM student;

2.4 查询时合并列

-- 给student表添加servlet和jsp成绩列

ALTER TABLE student ADD servlet INT, ADD jsp INT;

DESC student;

UPDATE student SET servlet =60,jsp =80 WHERE sd=1;

SELECT sid,sname,(servlet+jsp) AS '总成绩' FROM student;

2.5 查询时去除重复记录

-- 查询学生性别  男  女

SELECT DISTINCT gender FROM student;

-- 查询学生所在地址

SELECT DISTINCT address FROM student;

2.6 条件查询(where)

2.6.1 逻辑条件  and(&&)  or(||)

-- 查询id=2,且姓名为李四的学生

SELECT * FROM student WHERE sid=2 AND sname = '李四';

-- 查询id=2 或姓名为张三的学生

SELECT * FROM student WHERE sid =2 OR sname='李四';

2.6.2 比较条件   >    <     >=    <=    ==   <>(不等于)    between  and

-- 查询servlet成绩大于70分的学生

SELECT * FROM student WHERE servlet>70;

-- 查询jsp成绩大于等于75,且小于等于90的学生

SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; 

2.6.3 判空条件(null 空字符串) : is  null   /   is not null  /    ==' '   /     <>' '

注意: NULL vs  空字符串

NULL:没有值;

空字符串:有值;

-- 查询地址为空的学生

-- 判断NULL

SELECT * FROM student WHERE address IS NULL;

--  判断空字符串

SELECT * FROM student WHERE address='';

SELECT * FROM student WHERE address IS NULL OR address='';

--  查询有地址的学生

SELECT * FROM student WHERE address IS NOT NULL OR address<>'';

2.6.4 模糊条件 like

-- 通常使用替换的标记

-- % : 表示任意字符

-- _  : 表示一个字符

-- 需求:查询姓‘张’的学生

-- 张%%%%%%%

SELECT * FROM student WHERE sname LIKE '张%';、

-- 张_

SELECT * FROM student WHERE sname LIKE '张_';

原文地址:https://www.cnblogs.com/lisong-home/p/7598583.html