![SQL](http://ganwen.net.cn/static/common/topic-mid-img.png)
SQL
SQL Update
laoguo 发表了文章 • 0 个评论 • 339 次浏览 • 2024-05-14 17:18
Update 语句用于修改表中的数据。
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
Person:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
更新某一行中的一个列
我们为 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Champs-Elysees |
更新某一行中的若干列
我们会修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
SQL ALTER
laoguo 发表了文章 • 0 个评论 • 289 次浏览 • 2024-05-14 17:01
ALTER语法了,总结下来一共有十点,如下:
1. 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
2. 增加列
ALTER TABLE 表名 ADD COLUMN 列名 属性 约束;
3. 重命名列
ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
4. 重命名表
ALTER TABLE 旧表名 RENAME TO 新表名;
5. 删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
6. 添加主键===CONSTRAINT 约束名可以不要,()括号必须有,不然会报错
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (指定列);
7. 添加索引
ALTER TABLE 表名 ADD index 索引名 (列名);
8. 修改列
ALTER TABLE 表名 CHANGE 旧列名 TO 新列名 属性
8. 修改列的属性
ALTER TABLE 表名 MODIFY COLUMN 列名 新属性;
9. 修改列的默认值
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
10.删除约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名;
SQL INSERT
laoguo 发表了文章 • 0 个评论 • 307 次浏览 • 2024-05-14 17:00
INSERT语句向数据表中插入数据有以下两种形式:
将数据列出并插入到数据表的指定列;
插入其他表中查询的结果记录插入到数据表的指定列。
01 将数据列出并插入到数据表的指定列
语法结构如下:
1.插入记录到指定列,这里的列可以是数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;
INSERT INTO table(column1,column2,…)VALUES(value1,value2,…);
2.当插入记录到指定列,指定列为全部列时也可以省略(column1,column2,…)
INSERT INTO tableVALUES (value1, value2,...);
实例如下:
这里通过表data_learning.product进行举例,data_learning是1.2节创建的数据库。
向数据表全部列中插入一行数据或多行数据(两种都可,插入多行数据类似):
-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product(product_id,product_name,price) VALUES('P1','毛呢大衣',559 ),('P2','羽绒服',1999 ),('P3','风衣',299 );
--向数据表全部列中插入多行数据:
-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product VALUES('P1','毛呢大衣',559 ),('P2','羽绒服',1999 ),('P3','风衣',299 );
向数据表指定列中插入一行数据:
-- 2.商品信息表:productINSERT INTO data_learning.product(product_id,product_name)VALUES('testP','TESTP');
查询 插入的行记录
SELECT * FROM data_learning.productWHERE product_id = 'testP'
没有插入的列默认值为NULL,查询结果如图:
02 插入其他表中查询的结果记录插入到数据表的指定列
结构如下:
-- 这里的指定列同上,可以数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;INSERT INTO table1 (column1, column2,…)SELECT
column1,column2,…FROM
table2WHEREcondition1;
实例如下:
INSERT INTO data_learning.product (product_id,product_name)SELECTcategory_id as product_id,category_name as product_nameFROMdata_learning.product_category WHERElevel_id = 'L1';
如果两个表table1和table2有相同的结构,那么可以通过以下语句将一张表的所有数据插入另外一张表。
INSERT INTO table1SELECT
*FROMtable2;
SQL Update
laoguo 发表了文章 • 0 个评论 • 339 次浏览 • 2024-05-14 17:18
Update 语句用于修改表中的数据。
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
Person:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
更新某一行中的一个列
我们为 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Champs-Elysees |
更新某一行中的若干列
我们会修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
SQL ALTER
laoguo 发表了文章 • 0 个评论 • 289 次浏览 • 2024-05-14 17:01
ALTER语法了,总结下来一共有十点,如下:
1. 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
2. 增加列
ALTER TABLE 表名 ADD COLUMN 列名 属性 约束;
3. 重命名列
ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
4. 重命名表
ALTER TABLE 旧表名 RENAME TO 新表名;
5. 删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
6. 添加主键===CONSTRAINT 约束名可以不要,()括号必须有,不然会报错
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (指定列);
7. 添加索引
ALTER TABLE 表名 ADD index 索引名 (列名);
8. 修改列
ALTER TABLE 表名 CHANGE 旧列名 TO 新列名 属性
8. 修改列的属性
ALTER TABLE 表名 MODIFY COLUMN 列名 新属性;
9. 修改列的默认值
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT 默认值;
10.删除约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名;
SQL INSERT
laoguo 发表了文章 • 0 个评论 • 307 次浏览 • 2024-05-14 17:00
INSERT语句向数据表中插入数据有以下两种形式:
将数据列出并插入到数据表的指定列;
插入其他表中查询的结果记录插入到数据表的指定列。
01 将数据列出并插入到数据表的指定列
语法结构如下:
1.插入记录到指定列,这里的列可以是数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;
INSERT INTO table(column1,column2,…)VALUES(value1,value2,…);
2.当插入记录到指定列,指定列为全部列时也可以省略(column1,column2,…)
INSERT INTO tableVALUES (value1, value2,...);
实例如下:
这里通过表data_learning.product进行举例,data_learning是1.2节创建的数据库。
向数据表全部列中插入一行数据或多行数据(两种都可,插入多行数据类似):
-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product(product_id,product_name,price) VALUES('P1','毛呢大衣',559 ),('P2','羽绒服',1999 ),('P3','风衣',299 );
--向数据表全部列中插入多行数据:
-- 2.商品信息表:product,若是1.2节创建数据库&数据表中已执行下列语句,此次可以不用重复执行INSERT INTO data_learning.product VALUES('P1','毛呢大衣',559 ),('P2','羽绒服',1999 ),('P3','风衣',299 );
向数据表指定列中插入一行数据:
-- 2.商品信息表:productINSERT INTO data_learning.product(product_id,product_name)VALUES('testP','TESTP');
查询 插入的行记录
SELECT * FROM data_learning.productWHERE product_id = 'testP'
没有插入的列默认值为NULL,查询结果如图:
02 插入其他表中查询的结果记录插入到数据表的指定列
结构如下:
-- 这里的指定列同上,可以数据表的全部列、也可以是部分列,但是列的数量和值的数量必须一致,顺序也要保持一致;INSERT INTO table1 (column1, column2,…)SELECT
column1,column2,…FROM
table2WHEREcondition1;
实例如下:
INSERT INTO data_learning.product (product_id,product_name)SELECTcategory_id as product_id,category_name as product_nameFROMdata_learning.product_category WHERElevel_id = 'L1';
如果两个表table1和table2有相同的结构,那么可以通过以下语句将一张表的所有数据插入另外一张表。
INSERT INTO table1SELECT
*FROMtable2;