From 702cf4f4035d6091dd24a8ce60f0e57da44bf96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=8B=8F=E8=90=8Cm?= <3279471564@qq.com> Date: Fri, 3 Mar 2023 14:21:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=AC=94?= =?UTF-8?q?=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\345\272\223\347\254\224\350\256\260.md" | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 "26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" diff --git "a/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" "b/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" new file mode 100644 index 0000000..6005a45 --- /dev/null +++ "b/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" @@ -0,0 +1,165 @@ +## 数据库笔记 + +#### 一.创建数据库/使用数据库/创建数据表: + +```sql +--创建数据库 +--create database 数据库名称; +--使用数据库 +--use 数据库名称 +--创建数据表 +--create table 数据表名( +--列名1 数据类型 (约束) +--列名2 数据类型 (约束) +--列名3 数据类型 (约束) +--); +``` + +##### 1.表的属性: + +```sql +--表的属性 +--1.主键:primary key +--作用:唯一识别表中的一条记录,插入数据时,主字段不能为空并且不能重复 + +--2.自增属性:identity(自增起始值,自增步长) +--作用:系统帮忙计算插入自增字段的值 + +--3.唯一:unique 插入的值不能重复 + +--4.非空:not null 插入的数据不能为空值 + +--5.默认值:default 插入的数据没有值时,系统默认帮忙设置的值 + +--6.检查:check(条件语句) + +--7.外键:foregin key (本表外键字段) reference 参照表名称(参照表字段) +``` + +##### 2.删除数据库/数据表/修改数据表 + +```sql +--1.删除数据库 +drop database 数据库名称 +--注意:当数据库正在使用无法删除时,先切换到master,再删除 + +--2.删除数据表 +drop table 数据表名称 + +--3.修改数据表 +alter table 数据表名称 +alter column 列名 要修改的数据 + +``` + +##### 3.数据类型 + +```sql +--数据类型 + 整型:int + 字符串型:nvarchar(10),varchar(10),text + 浮点型:float,decimal(n,m) + 注:'n'代表数值的总位数,'m'代表小数的位数 + 货币:money + 日期:date,time,datetime +``` + +#### 二.修改表的结构 + +```sql + --修改表的结构 + --1.增加字段 + alter table 表名 + add 字段名 数据类型 (约束) + --2.删除约束 + alter table 表名 + drop constraint 约束名 + --3.删除字段 + alter table 表名 + alter column 列名 + --4.修改字段的数据类型 + alter table 表名 + alter table 字段名称 数据类型 + --注:修改表名:exec sp_rename '旧表名','新表名' + --修改表的字段名:exec sp_rename '表名.旧字段名','新字段名' +``` + + + +##### 1.约束: + +```sql + --默认约束: + alter table 表名 + add constraint DF_表名_字段名 (约束) for 字段名 + + --主键约束: + alter table 表名 + add constraint PK_表名_字段名 (约束) +``` + +##### 2.插入/删除/修改数据: + +```sql + --1.插入数据: + insert into 表名/(列名1,列名2,....) + values (值1,值2,....),值1,值2,....), + --注:列名和值:数量 数据类型,顺序一一对应 + --列名的列表可以省略,所有字段(除自增字段)按顺序插入值时可以省略 + + --2.删除数据:(‘delete’只删除数据,不删除表,自增值从上一次自增后的值开始) + delete from 表名 where 删除条件的表达式 + truncate table 表名 --整张表删除重建,自增重新从起始值开始 + + --3.修改数据: + update 表名 set 列名=更新后的值,列名=更新后的值,... + where 修改的条件表达式 +``` + +### 三.数据的查询 + +##### 1.查询单表的所有数据: + +```sql +select * from 表名 + --‘*’指表中的所有列,‘from’指要查询的表 +``` + +##### 2.查询指定列 + +```sql + 语法:select 列名1,列名2,.... from 表名 + + --给列名设置别名 + 1)列名 别名 + 2)列名 as 别名 + 3)别名=列名 +``` + +##### 3.只查询若干行 + +```sql + top:获取查询结果的前几行 + --查询信息表中的前几(n)行 + select top n * from 表名 + --获取信息表的 n% + select top n percent * from 表名 + --查询信息表中具体哪几列 + select 列名1,列名2,... from 表名 +``` + +##### 4.查询结果去除重复项 + +```sql +distinct:不同的 + select distinct 列名1,列名2,... from 表名 +``` + +##### 5.对查询结果进行排序 + +```sql +order by 排序字段 asc升序 desc降序 + select * from 表名 order by 列名 asc/desc + --注:select * from 表名 order by 列名 (默认升序) +``` + -- Gitee From 91bcd57aeac017d0928392734052aaadb76fbc31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=8B=8F=E8=90=8Cm?= <3279471564@qq.com> Date: Tue, 7 Mar 2023 23:28:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=AC=94?= =?UTF-8?q?=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\345\272\223\347\254\224\350\256\260.md" | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git "a/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" "b/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" index 6005a45..2eb47b1 100644 --- "a/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" +++ "b/26\345\210\230\350\213\217\350\220\214/\346\225\260\346\215\256\345\272\223\347\254\224\350\256\260.md" @@ -163,3 +163,29 @@ order by 排序字段 asc升序 desc降序 --注:select * from 表名 order by 列名 (默认升序) ``` +#### 三:where条件表达式 + +```sql + --运算符 + --(1)比较运算符:>、>=、<、<=、<>、!= + --(2)逻辑运算符:and 与、or 或、not 非 + --(3)范围运算符:between A and B ,在[A,B]范围内 + -- not between A and B ,不在[A,B]范围内 + --(4)列表运算符:in (值1,值2,...) not in (值1,值2,...) + --(5)空值运算符:is null 值为 null 返回结果记录 + -- is not null 值不为 null 返回结果记录 + --“null”:插入数据时,没有给该字段赋值,也没有指向内存空间的地址 + --’‘:空字符,没有任何字符,有储存空间 + --(6)模式匹配运算符:like’模式字符串‘ + -- 匹配字符:%:匹配 0-n 任意字符 + -- _:匹配1个任意字符 + --eg:查询桂林市的学生信息 + select * from 表名 where 列名 like '%桂林市%'; + --eg:查询姓刘的学生信息 + select * from 表名 where 列名 like '刘%'; + --eg:查询包含天字的学生信息 + select * from 表名 where 列名 like '%天%'; + --eg:查询姓刘且名为2个字的学生 + select * from 表名 where 列名 like '刘_ _'; +``` + -- Gitee