数据库(三)--------数据库基础操作

发布于:2023-01-04 ⋅ 阅读:(183) ⋅ 点赞:(0)

目录

回顾

3.1 约束字段

3.2 查看表结构

小技巧

3.3 列操作 

3.3.1 添加

3.3.2 删除

3.3.3 修改

3.4 数据库的基础操作

3.5 练习(一)

3.5.1 练习(二)

3.5.2 练习(三)

 3.6 解析 

3.6.1 练习(一) 解析

 3.6.2 练习(二)解析

 3.6.3 练习(三)解析


回顾

数据库是由多个表组成
表是由行和列组成
行表示一条数据 列表示一条数据中的某个单元格

3.1 约束字段

create table 表名(列名1 数据类型 [约束字段], 列名2 数据类型 [约束字段]...);
# 只有当单元格中的数据出现了Null关键字 才认为是空数据 空字符串 != Null
# 约束是可以自由组合
# 表中的主键只能有一个 一个表中只能设置一个主键约束
主键约束: primary key
    作用:限制被描述的列的数据不能为空也不能重复
    如果一个列被主键约束了 那么这个列为当前表的唯一列

    # 在设计表的时候 都应该有一个唯一的列 也能提高数据的增删改查速度
唯一约束:unique
    作用:限制被描述的列的数据不能重复 允许为null   null:表示没有任何数据

非空约束:not null
    作用:限制被描述的列的数据不能为空

默认值:default
    作用:可以给一个列添加一个默认值 字符串和时间都需要用单引号包裹起来

自动增长:auto_increment
    # 只能使用在整数类型的列上
    # auto_increment要和主键约束一起使用 primary key auto_increment
    作用:从1开始 每添加一条数据 在上一条的基础上+1
    被自动增长描述的列不需要手动输入数据

3.2 查看表结构

desc 表名;

小技巧

如果是创建就用 create
删除 drop
修改 alter

3.3 列操作 

3.3.1 添加

语法:alter table 表名 add 列名 数据类型 [约束字段];
alter table student_up add stu_height float(4, 1);

3.3.2 删除

语法:alter table 表名 drop 列名;
alter table student_up drop stu_height;

3.3.3 修改

change:修改列名、数据类型、约束字段
modify:数据类型、约束字段
修改列名语法:alter table 表名 change 原列名 新列名 数据类型 [约束字段];

把体重修改成身高 stu_height 类型修改成 double(5, 1) 约束字段添加 not null
 	alter table student_up change stu_weight stu_height double(5,1) not null;

# 如果使用change进行修改 但是不想修改列名 那么原列名和新列名保持一致就好了 
	alter table student_up change stu_height stu_height double(6,1);
# 如果不想修改列名 可以使用modify关键

modify语法:alter table 表名 modify 列名 新数据类型 [约束];
	alter table student_up modify stu_height float(4,1);

3.4 数据库的基础操作

增:新增 insert
	1.添加一行数据
		插入数据语法1:
			# insert into 表名 values(数据1, 数据2, 数据3...);
			有多少个列 必须写多少个值 如果有默认值或者自动增长 则用null占位
			数据和列的顺序要一一对应
			insert into student_up values(4, '树下', '男', 16, 155.6);
		插入数据语法2:
			# insert into 表名(列名1, 列名2...) values(数据1, 数据2...);
			优点1:数据和列名一一对应 保证数据的准确性
			优点2:有默认值或者自动增长的列可以不写
			insert into student_up(stu_name, stu_height) values('王大锤', 156.1);
	2.添加多行数据
		# insert into 表名(列名1, 列名2...) values(数据1, 数据2...),(数据1,数据2...)...;
		insert into student_up(stu_name, stu_height) values('田大锤', 168.1),('柯南', 175);
删:删除
改:修改  update
	修改整列数据
	# update 表名 set 列名 = 新值;
		update student_up set stu_age = 18;
	修改指定的行 需要添加where条件子句来帮主我们完成
	# update 表名 set 列名 = 新值 where 条件;
		案例:把小王的年龄修改成19岁 可以使用十字锁定法来理解
			set的列和where的行来锁定某一个要修改的单元格

			update student_up set stu_age = 19 where stu_name = '小王';

		案例2:把年龄大于18岁的同学的性别改成女...
			update student_up set stu_sex = '女' where stu_age > 18;
		案例3:把所有男同学的年龄+1
			update student_up set stu_age = stu_age + 1 where stu_sex = '男';

		案例4:把树下村落的名字修改成 王村落 性别修改成 女
			update student_up set stu_name = '王村落', stu_sex = '女' where stu_name = '树下村落';
			# 修改多个列的语法:update 表名 set 列1 = 值1, 列2 = 值2 ... where 条件;
查:查询  select
	# 字符串类型和时间数据类型的数据需要使用单引号引起来
	# 把表中的数据查询出来 以结果集的方式反馈出来
	1.查询指定的列
		select 列名1, 列名2,..... from 表名;
		select stu_name, stu_sex from student_up;
		# stu_name等要查询出来的列 叫做检索列
	2.查询所有列
		select * from 表名;
		*:所有列
		select * from student_up;

3.5 练习(一)

表一

表二

 

表三

 

表四

 

表五

 

表六

 表七

表八

 

3.5.1 练习(二)

  1. 把创建表作业的teacher表数据使用语法插入
  2. 把张三的名字修改成 张麻子
  3. 把住在北京市海淀区的老师的性别修改成男
  4. 请查询老师表中 老师的教工号和名字还有出生日期

3.5.2 练习(三)

1、在product表中添加一个 数量的新列 number 类型是int

2、修改productName的类型为 char(200)

3、把number列修改成 dect描述列 类型是varchar(400)

4、删除dect列

5、查看这个表的表结构

 3.6 解析 

3.6.1 练习(一) 解析

表一:

 表二:

 表三:

 表四:

 这几个表要联合起来看 联合起来做

 3.6.2 练习(二)解析

  1. 把创建表作业的teacher表数据使用语法插入

2、把张三的名字修改成 张麻子

3、把住在北京市海淀区的老师的性别修改成男

4、删除后 查询老师表中所有的信息

5、请查询老师表中 老师的教工号和名字还有出生日期

 3.6.3 练习(三)解析

1、修改productName的类型为 char(200)

 2、把number列修改成 dect描述列 类型是varchar(400)

 3、删除dect列

4、查看这个表的表结构

 

 

 

 

本文含有隐藏内容,请 开通VIP 后查看