类型 | 大小 | 用途 |
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535字节 | 变长字符串 |
INT或INTEGER | 4 字节 | 大整数值 |
FLOAT | 4 字节 | 单精度浮点数值 |
DOUBLE | 8 字节 | 双精度浮点数值 |
DECIMAL | 依赖于范围 | 小数值 |
--插入一行
INSERT INTO customers
VALUES (NULL,
'Pep E. Lapew',,
'90046'
);
-- 插入多行
INSERT INTO cunstomers(cust_name,
cust_address,
cust_zip
)
VALUES(NULL,
'Pep E. Lapew',,
'90046'
);
INSERT INTO cunstomers(cust_Name,
cust_Address,
cust_zip
)
VALUES(NULL,
'Pep E. Lapew',,
'90046'
);
-- 另一种插入多行
INSERT INTO cunstomers(cust_name,
cust_address,
cust_zip
)
VALUES(NULL,
'Pep E. Lapew',,
'90046'
);
VALUES(NULL,
'Pepa. Lapew',,
'90046'
);
DELETE FROM customers
WHERE cust_id = 10006;
--修改表名
ALTER TABLE courses RENAME TO COURSES;
-- 修改列
ALTER TABLE courses RENAME COLUMN class TO CLASS ;
-- 修改表中的数据
UPDATE courses SET CLASS='math' WHERE student='D';
-- 删除列
ALTER TABLE courses DROP COLUMN student;
--删除行
DELETE FROM courses WHERE student='I';
--新建行
INSERT INTO courses VALUES('A', 'Math');
--新建列
ALTER TABLE courses ADD gender CHAR(2);
超过5名学生的课(难度:简单) 创建如下所示的courses 表 ,有: student (学生) 和 class (课程)。 例如,表:
编写一个 SQL 查询,列出所有超过或等于5名学生的课。 应该输出:
Note: 学生在每个课中不应被重复计算。
-- 创建表
CREATE TABLE courses(
student VARCHAR(255) NOT NULL PRIMARY KEY,
class VARCHAR(255) NOT NULL
);
-- 插入数据
INSERT INTO courses VALUES('A', 'Math');
INSERT INTO courses VALUES('B','English');
INSERT INTO courses VALUES('C','Math');
INSERT INTO courses VALUES('D','Biology');
INSERT INTO courses VALUES('E','Math');
INSERT INTO courses VALUES('F','Computer');
INSERT INTO courses VALUES('G','Math');
INSERT INTO courses VALUES('H','Math');
INSERT INTO courses VALUES('I','Math');
INSERT INTO courses VALUES('A','Math');
-- 查询
SELECT class
FROM (SELECT class, COUNT(*) AS num
FROM courses
GROUP BY class
HAVING num > 5) AS table_alias;
交换工资(难度:简单) 创建一个 salary表,如下所示,有m=男性 和 f=女性的值 。 例如:
交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。 运行你所编写的查询语句之后,将会得到以下表:
-- 创建表
CREATE TABLE salary(
id INT NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
sex CHAR(2) NOT NULL,
salary INT NOT NULL
);
-- 插入数据
INSERT INTO salary VALUES('1','A','m','2500');
INSERT INTO salary VALUES('2','B','f','1500');
INSERT INTO salary VALUES('3','C','m','5500');
INSERT INTO salary VALUES('4','D','f','500');
--更新数据
UPDATE salary
SET sex = IF(sex = 'F','M','F');