- http://www.w3school.com.cn/sql/sql_isnull.asp
- 视图可以说是一种虚拟表,建立在基本表的基础上,通过关联一个表或者多个表来获取多个表中需要的字段,视图只是用来查询数据并不能用来存储数据信息。
- -- CREATE DATABASE stu;
- -- SHOW DATABASES;
- USE stu;
- CREATE TABLE stu(x1 VARCHAR(10) PRIMARY KEY,x2 VARCHAR(10),x3 VARCHAR(10));
- SHOW TABLES;
- DESC stu;
- DROP TABLE stu;
- CREATE TABLE stu(
- Sno CHAR(10) PRIMARY KEY,
- Sname CHAR(10) UNIQUE,
- Ssex char(2),
- Sage SMALLINT,
- Sdept CHAR(20) );
- INSERT INTO stu (Sno,Sname,Ssex,Sage,Sdept) VALUES(001,'张三','男',20,'CS');
- INSERT INTO stu VALUES(002,'李四','男',2,'CD');
- INSERT INTO stu VALUES(003,'翠花','女',22,'CA');
- SELECT * FROM stu;
- SELECT Sno FROM stu ;
- SELECT Sno,Sage FROM stu;
- -- 把Sno 以 sn展示出来,Sage AS sa
- SELECT Sno AS sn,Sage AS sa FROM stu;
- --修改
- UPDATE stu SET Sage=20 WHERE Sno=2;
- --消除查询结果中的重复行
- SELECT DISTINCT Sage FROM stu;
- SELECT * FROM stu WHERE Sno BETWEEN 1 AND 2;
- SELECT * FROM stu LIMIT 2;
- SELECT * FROM stu WHERE Sage >20;
- SELECT * FROM stu WHERE Sage NOT in(20);
- SELECT * FROM stu WHERE Sage LIKE '2%';
- SELECT * FROM stu WHERE Sage LIKE '%2';
- SELECT * FROM stu WHERE Sage is not NULL;
- -- 升序(ASC)或降序(DESC)排列,默认为升序。
- SELECT * FROM stu ORDER BY Sno DESC;
- SELECT * FROM stu ORDER BY Sno ;
- -- AVG 求平均值
- -- count 求记录个数,返回int类型整数
- -- max 求最大值
- -- min 求最小值
- -- sum 求和
- SELECT AVG(Sage) as 平均数 , SUM(Sage) AS 总数
- FROM stu WHERE Ssex='男';
- SELECT Sno,SUM(Sno) AS total
- FROM stu GROUP BY Sage;
- -- 如果想在一个已经建好的表中添加一列,可以用诸如:
- alter table stu add column num INT not null;
- UPDATE stu SET num=20 WHERE Sno=1;
- UPDATE stu SET num=25 WHERE Sno=2;
- UPDATE stu SET num=30 WHERE Sno=3;
- -- 这条语句会向已有的表中加入新的一列,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:
- -- alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME;
- -- 注意,上面这个命令的意思是说添加新列到某一列后面。如果想添加到第一列的话,可以用:
- -- alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null first;
- SELECT *
- FROM stu
- WHERE num>23
- GROUP BY Sage;
- INSERT INTO stu VALUES (4,"ss",'男',22,'CD',30);
- SELECT num,MAX(num)AS MAxnum,MIN(num)AS Minnum
- FROM stu
- GROUP BY Sage
- HAVING COUNT(*)>1
- ORDER BY num;
- DELETE FROM stu WHERE Sno=4;
- -- 不删除表的情况下 删除所有数据
- DELETE * FROM stu;
- alter table stu add column num1 INT(2) DEFAULT '0';
- SELECT * FROM stu;
- ALTER TABLE stu ADD num2 INT;
- ALTER TABLE stu DROP COLUMN num1,DROP COLUMN num2;
- ALTER TABLE stu add INDEX age(Sage);
- ALTER TABLE stu CHANGE id id INT AUTO_INCREMENT;
-
ALTER TABLE student CHANGE id id INT auto_increment
INSERT INTO student (Id,Sname,Age,Grade) VALUES (1,'张三',22,50)
INSERT into student VALUES (2,'李四',23,60)
INSERT into student (Sname,Age,Grade) VALUES ('王二',33,70)
INSERT into student (Sname,Age,Grade) VALUES ('翠花',35,55)
INSERT into student (Sname,Age,Grade) VALUES ('王龙',32,65)CREATE TABLE school_timetable(
Sname VARCHAR(10) PRIMARY key,
Course VARCHAR(10) UNIQUE
)INSERT into school_timetable VALUES ('张三','语文');
INSERT into school_timetable VALUES ('李四','数学');
INSERT into school_timetable VALUES ('王二','英语');
INSERT into school_timetable VALUES ('王龙','语文1');
INSERT into school_timetable VALUES ('翠花','数学1');
-- 给表别名 AS可以省略
select s.id,s.Sname,s.Age,s.Grade,ss.Course
from student as s,school_timetable AS ss
where s.Sname=ss.Sname-- 以左/右表为主 在MySql中不支持Full Jion操作
select * from school_timetable ss
LEFT JOIN student s ON s.Sname=ss.Sname-- 只显示匹配到的 在SQL中 on 代替where
select * from school_timetable ss
INNER JOIN student s WHERE s.Sname=ss.SnameSELECT * FROM student
where Age LIKE '%2%'-- 两个条件都要满足
SELECT * FROM student
where Age=22 and Grade=50-- 满足其中一个就行
SELECT * FROM student
where (Age=22 OR Age=31) AND Grade=50-- 升序 一般默认升序
SELECT * FROM student ORDER BY id -- ASC-- 降序排序 以数字的 还有就是字母的排序
SELECT * FROM student ORDER BY id DESC-- UPDATE 表名称 SET 列名称 =新值 WHERE 列名称 =某值
UPDATE student SET Sname ='王三' WHERE id=3;-- DELETE FROM 表名称 WHERE 列名称 =值
DELETE FROM student where id=5;-- 不删除表 删除所有行
DELETE FROM company_home
DELETE FROM company_home-- 范围查询 SQL 中 是 SELECT Top 范围值 FROM 表名称 WHERE 条件
-- SQL 百分比查询 SELECT Top 范围值 percent * FROM 表名称 WHERE 条件
-- mysql中 SELECT 列名称 FROM 表名称 LIMIT 范围值
-- oracle 中 SELECT 列名称 FROM 表名称 WHERE ROWNUM 条件符号(> < = >=)范围值
SELECT * from student LIMIT 3-- 以2结尾的
SELECT * FROM student WHERE age LIKE '%2'-- 以2 开头的
SELECT * FROM student WHERE age LIKE '2%'-- 所有包含2的
SELECT * FROM student WHERE age LIKE '%2%'
-- 不包含的
SELECT * FROM student WHERE age not LIKE '%2'-- _代表一个同配字符
SELECT * FROM student WHERE age LIKE '_2'SELECT * FROM student WHERE Sname LIKE '王_'
-- SQL查询 表中 以A或L或N 开头的 '[!ALN]%' 不是 以A或L或N 开头的开头的
-- SELECT * FROM student WHERE age LIKE '[ALN]%'-- IN
SELECT * FROM student WHERE Age IN (22,32)-- SQL中 BETWEEN X AND y 包括X 包括Y
-- MySql中 BETWEEN X AND y 包括X 不包括Y
SELECT * from student where id BETWEEN 2 and 4-- 不包含在 BETWEEN X AND y 包括X 不包括Y
SELECT * from student where id NOT BETWEEN 2 and 4-- 对表
SELECT * FROM student AS stuu-- 对列
SELECT Sname as nam FROM student
MySql 基本操作(一)
猜你喜欢
转载自blog.csdn.net/qq_40938267/article/details/89846472
今日推荐
周排行