Mysql 基础用法

#创建表

CREATE TABLE table_name (column_name int)

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

ENGINE 设置存储引擎,CHARSET 设置编码。

#删除表

DROP TABLE table_name ;

#插入

INSERT INTO class (id, name) VALUES (5,'一年5班')

#删除数据

DELETE FROM class WHERE id=6

#修改

UPDATE class SET name='一年五班',id=5 WHERE id=6


#查单表

SELECT * FROM class
SELECT name FROM class where id=1

#排序 降序desc ,升序 asc

SELECT * FROM score ORDER BY score.score DESC
SELECT * FROM score ORDER BY score.score ASC


#多表查询

#LEFT JOIN左联 ,左表数据全显示,右表没有匹配的置为空
#RIGHT JOIN右联,右表数据全显示,左表没有匹配的置为空
#INNER JOIN内联,左右表都有数据才显示

select st.id, st.name,c.name,sc.score from student st LEFT OUTER JOIN class c ON st.class_id=c.id LEFT OUTER JOIN score sc ON sc.student_id=st.id

select st.id, st.name,c.name,sc.score from student st INNER JOIN class c ON st.class_id=c.id INNER JOIN score sc ON sc.student_id=st.id

#子查询 查询班级id是2的学生表信息

SELECT * FROM score WHERE score.student_id IN (SELECT id FROM student WHERE class_id=2)

#GROUP BY 查看每个科目的人数大于2 ,科目id 升序排列

SELECT COUNT(id),score.course_id FROM score GROUP BY course_id ASC HAVING COUNT(id)>2

原文地址:https://www.cnblogs.com/wangxue1314/p/13492494.html