SQL进阶Task2-SQL 创建、更新、删除、修改

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;`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值