MySQL

MySQL

创建和删除资料库

CREATE DATABASE `sql_tutorial`;  #创建资料库
SHOW DATABASES;   #展示所有资料库
DROP DATABASE `sql_tutorial`;  #删除资料库

每个完整语句后必须加分号


创建和删除表格

MySQL的一些资料形态:

INT 整数
DECIMAL(3,2) 有小数点的数 例如2.33,6.68
VARCHAR(10) 字串
BLOB 图片、影片、档案...
DATE YYYY-MM-DD 日期(2024-02-19)
TIMESTAMP YYYY-MM-DD HH:MM:SS 记录时间
CREATE DATABASE `sql_tutorial`;
SHOW DATABASES;
#使用这个资料库
USE `sql_tutorial`;  
# 创建表格名称 和 属性
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20)
);
#检查表格
DESCRIBE `student`;
#删除表格
DROP TABLE `student`;
#新增属性
ALTER TABLE `student` ADD gpa DECIMAL(3,2);
#删除属性
ALTER TABLE `student` DROP COLUMN gpa;

存储资料

CREATE DATABASE `sql_tutorial`;
SHOW DATABASES;
#使用这个资料库
USE `sql_tutorial`;  
# 创建表格名称 和 属性
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20)
);
#录入信息,要对应创建表格时的属性顺序,其他成员信息直接在下行代码修改
INSERT INTO `student` VALUES(1, '小白', '历史');
/*INSERT INTO `student` VALUES(2, '小黑', NULL);
也可以自己修改属性录入顺序:
INSERT INTO `student`(`name`, `major`, `student_id`) VALUES('小白', '历史', 1);
*/

#查看表格信息,*是指表格中所有信息
SELECT * FROM `student`;

constraints 限制 约束

NOT NULL 不能有空值

UNIQUE 不能重复

DEFAULT '历史' 预设值

AUTO_INCREMENT 自动增加

CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20) NOT NULL, #不能有空值
    `major` VARCHAR(20) UNIQUE, #不能重复
);
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20) DEFAULT '历史' #预设值
);
INSERT INTO `student`(`student_id`, `name`) VALUES(1, '小白');
CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    PRIMARY KEY(`student_id`)
);
INSERT INTO `student`(`major`, `name`) VALUES('历史', '小白');

修改 删除 资料

先把workbench预设的更新模式关闭:

set SQL save update = 0

set SQL save update = 0

CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    `score` INT,
    PRIMARY KEY(`student_id`)
);
INSERT INTO `student`(`name`, `major`, `score`) VALUES('小白', '历史', '90');

#修改信息(已经事先录好信息)
UPDATE `student`
SET `major` = '历史'
WHERE `major` = '历史文化';
# WHERE `student_id` = '3';

也可以一次修改多项:

UPDATE `student`
SET `major` = '生化'
WHERE `major` = '生物' OR `major` = '化学';
UPDATE `student`
SET `name` = '小惠', `major` = '物理'
WHERE `student_id` = 1

删除资料:(<> 不等于)

DELETE `student`
WHERE `student_id` = 4; 
# WHERE `score` <> 90;

取得 搜寻 资料

SELECT * FROM `student`;
SELECT `name` FROM `student`;
SELECT `name`,`score` FROM `student`;

ORDER BY 排序,DESC 从高到低排,ASC从低到高,LIMIT 限制回传

SELECT * FROM `student` ORDER BY `score`;

SELECT * FROM `student` ORDER BY `score` DESC;
#如果score一样的话,按id排序
SELECT * FROM `student` ORDER BY `score`
LIMIT 3; #只要前3笔数据
SELECT * FROM `student`
WHERE `major` = '英语' OR `score` <> 90;
SELECT * FROM `student`
WHERE `major` = '英语' OR `major` = '历史';
#等价于
WHERE `major` IN('历史', '英语');
posted @ 2024-02-20 22:28  别小乔我  阅读(38)  评论(0)    收藏  举报