SQL系列之基本操作

news/2024/11/5 2:17:50

新建表

**`CREATE TABLE <NAME>
[<列名><数据类型>[表级完整性约束条件]],
[<列名><数据类型>[表级完整性约束条件]]......`**

实例

CREATE TABLE student(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20));

其中student是表名,Sno,Sname,Ssex,Sage,Sdept都是列名,后面的CHAR都是数据类型,这里的PRIMARY KEY是将Sno定义为主键,UNIQUE是将Sname定义为唯一的也就是后面插入数据的时候不能有重复的名字

拓展:主键的定义是在多个候选码中找出那个能够唯一识别一组数据的列名,如果需要两个列名才能识别一组数据,那么可以将这两个列名都定义为主键:PRIMARY KEY(Sno,Sname)

删除表

  • DROP TABLE NAME;只能删除没有被其他表引用,或者没有建立视图的,这里的引用可以是作为被参照表或者作为参照表

  • DROP TABLE NAME CASCADE;将全部删除,包括基本表和视图

修改表

添加列

alter table 表名 add 列名 列数据类型 [after 插入位置]

例子

  • alter table student add grade smallint; //将grade插入到student表中的末尾一列,这里不加after默认的是在末尾添加

  • alter table studnet add grade smallint after Sname; //这里将grade插入到表中Sname列的后面

删除列

alter table 表名 drop 列名

alter table student drop Sname; //输出Sname那一列

修改列

alter table 表名 change 列名称 列新名称 新数据类型;

实例

  • alter table student change Sname name char(10) not null; //修改列名Sname为name,并且还可以修改其中的数据类型,如果想要保持不变,就保持原型。

重命名表

alter table 表名 rename 新表名;

实例:
alter table student rename STUDENT; //将表名改为STUDENT

插入数据

INSERT INTO table_name(列名,列名,列名....)VALUES(DATA); //这里的data一定要对应每一列的数据类型,当然如果要想要插入所有的数据,就不需要列出所有的列名了

例子:

  • INSERT INTO student(Sno,Sname,Sage,Ssex)values('201215124','jack',34,'男'); //这里是插入表中的一些列的数据,并且对应了数据类型

  • INSERT INTO student values('201215124','男','jack',34,'IS'); //这里是按照表中的列名顺序插入数据的

更新数据

update 表名称 set 列名称=新值 where 更新条件;

实例:

  • update student set Sage=Sage+1 where Sno='12134'; //将Sno为12134的那一列数据的年龄加一

删除表中的数据

delete from 表名称 where 删除条件;

实例:

  • delete from student where Sno='121314125'; //删除Sno为121314125的那一行数据


http://www.niftyadmin.cn/n/2071162.html

相关文章

展望2022:Android开发技术动向

每年9/10月份 Google 都会举行为期约2天的 Android Dev Summit&#xff0c;在活动上 Google 的技术专家们会分享一些 Android 领域的技术动向以及开发心得。 今年 Summit 的 Slogan 是 “Excellent apps&#xff0c;across devices” , 即使用 Jetpack 等 MAD Skill &#xff0…

ComposeOptions.kotlinCompilerVersion is deprecated

我为我的 Compose 工程升级 AGP 后 &#xff08;7.0.0 > 7.0.2&#xff09;重新编译发生下面错误 ComposeOptions.kotlinCompilerVersion is deprecated. Compose now uses the kotlin compiler defined in your buildscript. 以前需要通过该 composeOptions 指定 Kotlin 版…

@OnLifecycleEvent 遭废弃,推荐使用 DefaultLifecycleObserver 替代

近期 androidx.lifecycle 发布了 2.4.0 版本&#xff0c;此次更新中 OnLifecycleEvent 注解被废弃&#xff0c;官方建议使用 LifecycleEventObserver 或者 DefaultLifecycleObserver 替代 现代的 Android 应用中都少不了 Lifecycle 的身影&#xff0c;正是各种 lifecycle-aware…

Jetpack Compose 动态权限申请(Permission Request)

在 Jetpack Compose 动态申请权限可以使用两种方法 rememberLancherForActivityResultAccompanist 的 Permissions 接下来分贝展示一下两种用法 代码环境如下: Kotlin 1.5.2Jetpack Compose 1.0.2Android Studio Chipmunk | 2021.2.1 要使用 Accompanist 需要额外引入 de…

Kotlin 1.6 正式发布,都有哪些新特性?

11月16日&#xff0c;Kotlin 1.6 正式对外发布。接下来就一起看一下在这个版本中都有哪些新的语法特性 更安全的when语句&#xff08;exhaustive when statements&#xff09;挂起函数类型可作父类 &#xff08;suspending functions as supertypes &#xff09;普通函数转挂起…

【Android】实战图像识别:Compose + MLKit + CameraX

MLKit 是 Google 提供的移动端机器学习库&#xff0c;可以在 Andorid 或 iOS 上低成本地实现各种 AI 能力&#xff0c;例如图像、文字、人脸识别等等&#xff0c;而且很多能力可以在手机端离线完成。 https://developers.google.com/ml-kit 下面通过代码示例展示 MLKit 的以下功…

Jetpack Compose 易犯错误之:在 LazyColumn 中访问 LazyListState

我们在使用 LazyColumn 或者 LazyRow 时&#xff0c;应该避免在 LazyListScope 中访问 LazyListState&#xff0c;这可能会造成隐藏的性能问题&#xff0c;看下面的代码&#xff1a; Composable fun VerticalList(items: List<String>, onReachedBottom: () -> Unit)…

Compose Multiplatform 正式版将于年内发布

近日&#xff0c;JetBrains 公司发布了 Compose Multiplatform 的 Beta 版本&#xff0c;这距离此前 Alpha 版本的发布才过去两个多月。 这个版本中包含了许多新的改进&#xff0c;在桌面端与Web端分别增加了新的 API &#xff0c;并对已有的部分 APIs 进行了稳定。Beta 版的发…