表的基本操作

本文详细介绍了SQL中的CRUD操作(Create,Read,Update,Delete),包括ALTERTABLE语句修改表结构、INSERTINTO语句插入数据、UPDATE语句更新记录、DELETE语句删除数据以及SELECT语句查询数据,涉及列名更改、字符集设置和基本SQL语法示例。
摘要由CSDN通过智能技术生成

 修改表

实例:

创建如图所示的表:

alter 表上增加一个image列,varchar类型(要求在resume后面)

修改job列使其长度变为60

删除sex列

修改表名

修改表的字符集为utf8

ALTER TABLE alter01 CHARACTER SET utf8

修改列名name为user_name

数据库CURD语句

Insert语句

语法

INSERT INTO table_name[(colum[,colum])]
VALUES (value[,value]);

实例:

Insert语句注意事项

1.插入的数据应与字段的数据类型相同。比如 把'abc' 添加到 int 类型会错误

2.数据的长度应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
3.在values中列出的数据位置必须与被加入的列的排列位置相对应

4.字符和日期型数据应包含在单引号中。
5.列可以插入空值[前提是该字段允许为空],insert into table value(null)

6.insert into tab name(列名..)values (),(),();形式添加多条记录

7.如果是给表中的所有字段添加数据,可以不写前面的字段名称

8.默认值的使用,当不给某个字段值时,如果有默认值就会添加,否则报错

Update语句

语法

UPDATE table_name
    set colum_name = expr[colum_name2 = expr2...]
    (WHERE where_defintion)

实例:

创建text表并插入数据

使用update语句更新所有行的salary为5000

只把小王的salary修改为4000

Update语句使用细节

1.UPDATE语法可以用新值更新原有表行中的各列。

2.SET子句指示要修改哪些列和要给予哪些值。

3.WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。

4.如果需要修改多个字段,可以通过 set 字段1=值1,字段2=值2..

Delete语句

语法

delete from table_name
    [WHERE where_definition]

实例:

删除图中name为小王的记录

Delete语句使用细节

1. 如果不适用where语句,将删除表中所有数据

2. Delete语句不能删除某一列的值(可以使用update设为null或者‘ ’)

3. 使用delete语句仅删除记录不删除表本身(drop table 表名;)

Select语句

为熟练操作语法,接下来会创建一张表,在之后的语法都会对该表进行相关操作

## student
CREATE TABLE student(
	id INT NOT NULL DEFAULT 1,
	`name` VARCHAR(20) NOT NULL DEFAULT ' ',
	chinese FLOAT NOT NULL DEFAULT 0.0,
	english FLOAT NOT NULL DEFAULT 0.0,
	math FLOAT NOT NULL DEFAULT 0.0
);
INSERT INTO student VALUES
(1,'韩',89,78,90);
INSERT INTO student VALUES
(2,'张飞',67,98,56);
INSERT INTO student VALUES
(3,'宋江',87,78,77);
INSERT INTO student VALUES
(4,'关羽',88,98,90);
INSERT INTO student VALUES
(5,'赵云',82,84,67);
INSERT INTO student VALUES
(6,'欧阳锋',55,85,45);
INSERT INTO student VALUES
(7,'黄蓉',75,65,30);

- 基本语法1 [DISTINCT]

SELECT [DISTINCT] *[COLUMN1,COLUMN2,..] FROM table_name

- 注意事项

1. Select 指定查询哪些列的数据

2. column 指定列名

3. * 代表查询所有列

4. FROM 指定查询哪张表

5. DISTINCT 可选,指显示结果时,是否去掉重复数据

例子:

SELECT DISTINCT english FROM student

- 基础语法2 

SELECT * |[column1|expression,column2|expression,..] FROM table_name;

- 基础语法3 [as]

SELECT column_name as 别名 FROM 表名

将各个学生的总分用 total_score表示

Where语句中经常使用的运算符

比较运算符

> < >= <= = <> !=

大于、小于、大于(小于)等于、不等于

BETWEEN...AND...

显示在某一区间的值

IN(set)

显示在in列表中的值,例:in(100,200)

LIKE `张pattern`

NOT LIKE

模糊查询

IS NULL

判断是否为空

逻辑运算符

and

多条件同时成立

or

多条件任一成立

not

不成立,例:where not(salary>100)

注:

between...and... 所在某区间的范围为闭区间

用于字符匹配的LIKE谓词:谓词LIKE可用来表示字符串的匹配条件,* 表示任意多个字符,?表示任意一个字符(有些系统分别用 % 和 - 表示)

实例:

查找赵姓的学生的成绩

查找第二个字为云的同学姓名和成绩

- 基础语法3 [Order by]

SELECT column1,column2,... 
    FROM table_name 
    order by column asc|desc

1. Order by指定排序的列,排序的列既可以是表中的列名,也可以是select语句后指定的列名

2. Asc 升序[默认]、Desc 降序

3. ORDER BY 子句应位于SELECT语句的结尾
实例:

对数学成绩按升序排序输出

SELECT * FROM student 
	ORDER BY math ASC;

将总分按降序排序

select `name`,(math+chinese+english) as total_score from student
	order by total_score desc;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值