MySQL数据库命令
数据库管理
创建并选择数据库、删除数据库
# 创建
CREATE DATABASE IF NOT EXISTS `itheima`;
# 选择
USE `itheima`;
# 删除
DROP DATABASE IF EXISTS `itheima`;
数据表的管理
创建学生信息表、删除数据表
#创建
CREATE TABLE IF NOT EXISTS `student` (
`id` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(32) NOT NULL COMMENT '姓名',
`gender` ENUM('男', '女') DEFAULT '男' NOT NULL COMMENT '性别'
) DEFAULT CHARSET=utf8;
# 删除
DROP TABLE IF EXISTS `student`;
数据的增、删、改、查
增
# 指定字段插入
INSERT INTO `student` (`name`,`gender`) VALUES
('Tom','男'), ('Lucy','女'), ('Jimmy','男'), ('Amy','女');
# 省略字段插入
INSERT INTO `student` VALUES
(NULL,'Elma','女'), (NULL, 'Ruth','女');
删
DELETE FROM `student` WHERE `gender`='女'; # 删除部分数据
DELETE FROM `student`; # 删除全部数据
TRUNCATE `student`; # 清空数据表
DELETE和TRUNCATE的区别
前者可以加上WHERE子句,只删除满足条件的部分记录,再次向表中添加记录时,不影响自动增长值;
后者只能用于清空表中的所有记录,且再次向表中添加记录时,自动增加字段的默认初始值将重新由1开始。
改
UPDATE `student` SET `name`='Tess' WHERE `id`=6; # 有条件修改
UPDATE `student` SET `name`='Tess'; # 无条件修改
查
SELECT * FROM `student`; # 查询表中所有数据
SELECT `name` FROM `student`; # 查询表中指定字段
SELECT * FROM `student` WHERE `id`=2; # 查询id等于2的学生信息
SELECT * FROM `student` WHERE `id`IN(4,5); # 查询id为4或5的学生信息
SELECT * FROM `student` WHERE NAME LIKE '%y'; # 查询名字以y结尾的学生信息
SELECT * FROM `student` WHERE NAME LIKE 'y%'; # 查询名字以y开头的学生信息
SELECT * FROM `student` WHERE NAME LIKE '%y%'; # 查询名字包含y的学生信息
SELECT * FROM `student` ORDER BY `name` ASC; # 将查询结果按照名字升序排序
SELECT * FROM `student` ORDER BY `name` DESC; # 将查询结果按照名字降序排序
SELECT * FROM `student` LIMIT 1, 2; # 查询结果从第2个开始,至多有2个
SELECT `gender`, COUNT(*) FROM `student` GROUP BY `gender`; # 按性别查询男女各有多少人
FROM用于指定待查询的数据表
WHERE用于指定查询条件
IN关键字用于判断某个字段的值是否在指定集合中
LIKE用于模糊查询,“%”表示一个或多个字符
ORDER BY用于将查询结果按照指定字段进行排序,ASC表示升序,DESC表示降序
LIMIT用于限定查询结果
GROUP BY用于按照指定字段进行分组查询