SQL单表操作

SQL单表操作
在这里插入图片描述
创建表格

CREATE TABLE 	`student`(
	`student_id` INT PRIMARY KEY, #设置int类型,primary key
	`name` VARCHAR(20), #设置字符串的长度
	`major` VARCHAR(20),
);

或者

CREATE TABLE `student`(
	`student_id` INT, 
	`name` VARCHAR(20), #设置字符串的长度
	`major` VARCHAR(20),
	PRIMARY KEY(`student_id` )
);
DESCRIBE;  #查看表结构
DROP TABLE `student`;  # 删除表格

新增表格属性

alter table `表格名称` ADD gpa DEMCIMAL(3,2); #属性gpa 类型demcimal

删除表格属性

alter table `表格名称` DROP column gpa;

在创建表中插入数值,根据属性的数据

Insert into `表名称` values(1,’小白’,’历史’) ;

没有的信息填NULL

Insert into `表名称` values(2,’小黑’,NULL) ;

自己决定属性顺序

Insert into `表名称` (`name`,`major`,`student_id`) values(’小绿’,’英语’,3) ; #字符串用单引号或者双引号
Insert into `表名称` (`major`,`student_id`) values(’小绿’,’英语’) ;  #属性缺失就默认NULL填充

列举信息表的全部 * 指全部
Select * from 表名称;

  • constraints 限制,约束
    创建表格时候,可以给属性增加一些约束
CREATE TABLE `student`(
	`student_id` INT auto_increment, #添加数据时自动补足
	`name` VARCHAR(20)  NOT NULL, #这个属性一定要有值
	`major` VARCHAR(20)  unique, #这个属性的值不能重复
	PRIMARY KEY(`student_id` )
)
  • 修改、删除资料
    set sql_safe_updates = 0; 关掉(这行要大写)

要将某个表的’major’中的’英语’更新为’英语文学’

Update `表的名称`
Set `major`=’英语文学’ #设置字段
Where `major` = ‘英语’;

或者 where student_id=3 判断哪些行的数据对应的major要改成英语文学

多个条件用or连接

Update `表的名称`
Set `major`=’生物系’ #设置字段
Where `major` = ‘生物’ or `major`=’化学’; #将这两个学科的名字修改为生物系
Update `表的名称`
Set `name`=’小灰’,`major`=’物理’  #多个列名用逗号隔开
Where `student_id` =1;#将`student_id` =1的name修改为小灰,major修改为物理

如果不写where,是默认所有数据set 的属性字段都会被修改

  • 删除资料:
    判断条件可以and连接,或者是比较 号 <>:不等于 =:等于 <=小于等于
    (注意优先级:NOT>AND>OR)
    where level>1 and level<5 or level>7 and level<9; 先执行两个and 然后再执行or
Delete from `表的名称`
Where `student_id`=4;
Delete from `表的名称`
Where `name`=’小灰’ and `name`=’物理’;
Delete from `表的名称`
Where `score`<60
  • 取得资料
    Select * from 表的名称; *:表示取得所有的属性
    Select name,major from 表的名称; 选择特定的属性

如果想要取的表是排序的

Select * 
from `表名` 
order by `score`; #默认是从小到大排序(ASC)
或者
order by `score` desc; #表示逆序排序,从大到小
或者
order by `score`,`student_id`; #先根据score属性从小到大排序,如果score属性一样,根据Student_id排序(ASC)

只要前3条数据
Select * from 表名 limit 3;

Select * from `表名` 
order by `score` DESC
limit 3; 得到分数前3高的资料

如果是对某些符合字段内容进行回传

Select * from `表名` 
Where `major` =’英语’ [and `student_id`=3 或者 or `score`<>20]
Limit 4
; #可以用and 或者or 来连接条件

Select * from 表名
Where major in (‘历史’,’英语’,’生物’)
Limit 4
; 可以用and 或者or 来连接条件

Where major in (‘历史’,’英语’,’生物’)
等价与 where major=’英语’ or major=’历史’ or major=’生物’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值