SQL关于TABLE的操作
创建 (CREAT)
CREAT TABLE(在打开数据库之后操作(USE DATABASE))
CREAT TABLE Products
(
prod_id CHAR(10) NOT NULL AUTO_INCREMENT,
prod_price DECIMAL(8,2) NOT NULL
prod_desc VARCHAR(1000) NULL DEFAULT1
PRIMARY KEY (prod_id)
);
mysql→ VARCHAR必须替换为TEST
code解析:
- 表名紧跟在TABLE后面
- 实际上所有列都在括号内,并且利 用","(英文符号)来分割
- 创建的新表名必须是独一无二的,否则会有报错。(必须在创建之前删除原有的表)
- NOT NULL则表示不能允许有空值的存在。一般情况下默认NULL,所以在不指定NOT NULL时,是可以有NULL值的##主键列是不能含有NULL列
- DEFAULT语法代表的是默认值,当插入记录时候没有给该列给出东西,则可以自动填充默认值
一般日期列会用当前时间来充当默认值(CURRENT_DATE()) - AUTO_INCREMENT 表示为自动增长
- PRIMARY KEY 创建主键
删除表格
1.Drop Table 表名
Drop的删除范围最强,直接删除整个表
2.Truncate FROM Table_name
删除表内所有数据,但是结构保持不变
3.DELETE FROM Table_name [Where 子句]
一行一行删除表内的数据,当没有Where子句的时候,则删除所有数据
- 从强度上来说 DROP >> TRUNCATE >> DELETE
数据插入
数据插入主要分为3种情况(每列都一一对应插入,只插入确定的列,插入检索出来的结果):
1,一一对应的插入
-INSERT Into Table_name Values(每列的值)
2,插入确定的列
- INSERT INTO Table_name(列名) Values (列值)其中列的顺序可以打乱,但是必须一一对应
3,插入检索出的列 - INSERT INTO Table_name(列名)SELECT 语句
修改列的操作(Alter)
-
1.ALTER TABLE 表名 ADD 列名 数据类型;创建新的列
-
2.ALTER TABLE 表名 MODIFY 列名 数据类型;修改列的数据类型
-
3.ALTER TABLE 表名 DROP COLUMN 列名 ;删除某一列
-
4.ALTER TABLE 表名 RENAME AS 新表名;改列名
对记录的操作
UPDATE Table_name
SET XXX,XXX,XXX
WHERE xxx
项目
CREATE TABLE salary
(
id INT NOT NULL ,
n_ame VARCHAR(50) NOT NULL,
sex VARCHAR(50) NOT NULL,
salary INT NOT NULL
);
INSERT INTO salary(id,n_ame,sex,salary) VALUES (1,'A','m',2500);
INSERT INTO salary(id,n_ame,sex,salary) VALUES (2,'B','f',1500);
INSERT INTO salary(id,n_ame,sex,salary) VALUES (3,'C','m',5500);
INSERT INTO salary(id,n_ame,sex,salary) VALUES (4,'D','f',500);
---------------------
UPDATE salary
SET sex =
CASE sex WHEN 'f' THEN 'm'
ELSE 'F'
END;
CREATE TABLE course
(
student VARCHAR(50) NOT NULL,
class VARCHAR(50) NOT NULL
);
INSERT INTO course(student,class) VALUES ('A','Math');
INSERT INTO course(student,class) VALUES ('B','English');
INSERT INTO course(student,class) VALUES ('C','Math');
INSERT INTO course(student,class) VALUES ('D','Biology');
INSERT INTO course(student,class) VALUES ('E','Math');
INSERT INTO course(student,class) VALUES ('F','Computer');
INSERT INTO course(student,class) VALUES ('G','Math');
INSERT INTO course(student,class) VALUES ('H','Math');
INSERT INTO course(student,class) VALUES ('I','Math');
INSERT INTO course(student,class) VALUES ('A','Math');
select class from course group by class having count(distinct student) >=5;`