MySQL自学笔记复盘一:单表增删改

1.11 创建新表及单表增删改

1、创建新表

  • 在navicat中右键创建新数据库,再新建查询。
  • 注意,创建新数据库时选取字符集为utf8。
  • 利用sql语句创建新表,也可以选择在navicat for mysql 中直接创建。
create table 表名(字段名 数据类型) 约束
  • 举个栗子:创建一个学生表student,列有:id(学生id),name(学生姓名),classid(学生所在班级。
  • 其中,在id(学生姓名)后加int(2)指明数值类型,primary key 是将id设为主键。
  • 在name(学生姓名)后加 varchar(255)指明其字符串类型,not null为约束其非空。
  • 注意:这里的int(2)并不是存储在数据库中的具体的长度,不要认为为int(2)只能存储 2个长度的数字。
  • 在官方文档中,int(M)对于整数类型,M表示最大显示宽度。最大显示宽度为255。显示宽度与类型可以包含的值的范围无关
create table student(id int(2) primary key,name varchar(255) not null,classid int(2)) 

2、添加表中数据

insert into 表名 values(a,b,c...)
  • 注意,添加的数据结构要与表结构一致,这要求我们事先清楚表结构及各项约束。
  • 举个栗子:向student表中添加字段:
  • (1,‘张三’,1),(2,‘李四’,2),(3,‘王五’,2),(4,‘赵六’,2),(5,‘吴七’,3)
insert into student values(1,'张三',1)
  • 此时学生表为:

id name classid
1 张三 1
2 李四 2
3 王五 2
4 赵六 2
5 吴七 3


3、删除表中数据

delete from 表名 where 条件
  • 举个栗子:去除3班学生数据,即在classid为3的条件下,删除该条数据。
delete from student where classid = 3

4、更改表中数据

update 表名 set 更改操作 where 条件
  • 举个栗子:更改学生王五的班级为1,即在学生姓名为王五条件下,更改classid为1。
update student set classid = 1 where name = '王五'
  • 在mysql中,运算符还有很多,例如:
  • 处理数值型数据的:>(大于),<(小于),=(等于),<> / !=(不等于)
    • 数值在某个区间(a,b):between a and b (使用时注意一定要遵循a小于b的原则),注意是包括两端数字a,b的。
    • 数值在某个集合中(a,b,c):in(a,b,c)
  • 处理字符型数据:is(是),not(不是)
    • like(模糊运算符,类似于)一般会与两个特殊字符联合使用:_(下划线)表示匹配任意一个字符,%(百分号)表示匹配0个或者任意多个字符。
    • 举个栗子:删除学生吴七的数据,即删除学生名字类似于’_七’的学生数据。
delete from student where name like '_七'
  • 注意,我们的<>(不等于)不能用来判空,is null和 isnull 用于检验一个值是否为空值,如果为非空,返回值为 1;否则返回值为 0。

5、显示student表的所有数据

  • 这里运用select子语句,选中学生表中所有数据。*代表所有数据,语句后也可以加where条件,这是查询语句的基本句式。
  • 举个栗子:查询学生表中所有一班学生姓名,即在classid等于1的条件下,选取学生表姓名name
select name from student where classid = 1
  • 最终我们的表student如下:
select * from student

id name classid
1 张三 1
2 李四 2
3 王五 1
4 赵六 2


  • 学习小结:sql语句的上手十分简单,在实际生活中,大多任务所需要的是对多表的查询,这个也是以单表为基础的,特别是基础的逻辑运算和算法结构,虽然sql的基础语句都不复杂,但是后续的精进也很考验逻辑能力,应当勤学多练。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值