数据库原理与技术

SQL语句分类
DQL(数据查询语言): 查询语句,凡是select语句都是DQL。
DML(数据操作语言):insert delete update,对表当中的数据进行增删改。
DDL(数据定义语言):create drop alter,对表结构的增删改。
TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言): grant授权、revoke撤销权限等。

数据后缀名.mdf
日志数据名.ldf

创建属于我们自己的数据库

create database mydb;

创建属于我们自己的数据库
alter database bjpowernode;
modify name
删除数据库:drop database bjpowernode;

分离和删除的区别:分离后可附加回来
分离:从数据库系统把数据库移出去,但是注意不会删除数据文件
删除:会把数据文件一起删掉
附加:把数据文件添加到数据库系统,添加的是数据文件.mdf

数据类型:
数值类型:int,float (double,tinyint,smallint,bigint)
日期类型:date,time,year,datetime,timestamp(时间戳的格式)
字符类型:char,varchar,(tinyblob,tinytext)

库:增删改查
增:

create database mydb
on
(
name=mydb,
filename='E:\data\mydb.mdf',
size=3,
maxsize=20,
filegrowth=2
)
log on
(
name=mydb_log,
filename='E:\data\mydb_log.ldf',
size=1,
maxsize=20,
filegrowth=10%
)

修改数据库
alter database mydb
modify file
(
name=mydb,
size=10,
filegrowth=2%
)

删除数据库:会把数据文件一起删掉

drop database mydb;

分离:从数据库系统把数据库移出去,但是注意不会删除数据文件
附加:把数据文件添加到数据库系统,添加的是数据文件.mdf
数据类型:
1.数值类型
int float
2.日期类型
date
time
datetime
year
timestamp 时间戳的格式
3.字符类型
char varchar

建表
use db_school01;
create table tb_student
(
studentNo char(10),
studentName varchar(20),
sex char(20),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(6)
)

查询数据语句
select * from tb_student;

表:增删改查
修改表的名称,基本语法格式
exec sp_rename ‘old_name’,‘new_name’;

use db_school01;
create table tb_student
{
studentNo char(10),
studentName varchar(20),
sex char(20),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(6)
}

exec sp_rename ‘tb_student’,‘student’; //修改表名

alter table student add phone char(11); //增加表的字段

alter table student add address varchar(50); //增加表的字段

later table student drop column phone; //删除表的字段

alter table student alter column address char(100); //修改表的数据类型

exec sp_rename ‘student.[address]’,‘addr’,‘column’; //修改表的列名

drop table student; //删除表

修改:
(1)修改表名:
exec sp_rename ‘old_name’,‘new_name’;
(2)增加表的字段
alter table 表名 add 列名 数据类型;
(3)删除表的字段
//column 列(不能缺少,否则会报错)
alter table 表名 drop 字段名;
later table student drop column phone;
(4)修改表的数据类型
alter table 表名 alter column 列名 数据类型;
alter table student alter column address char(100);
(5)修改表的列名
exec sp_rename ‘表名.[旧列名]’,‘新列名’,‘column’; /修改字段名,可以没有column/
exec sp_rename ‘student.[address]’,‘addr’,‘column’;

查:在界面刷新一下即可

删除表:
drop table 表名;
drop table student;

数据的操作:
增删查改
增:insert
删:delete
查:select
改:update

新增数据:向表中插入数据

表新增单条数据
insert into 表名 (字段名1,字段名2…字段名n) values ()

表新增多条数据
insert into teacher (name,teacherNo,age) //指定字段名向表插入数据
values(‘zhangsan’,20201013,30),(‘lisi’,20201014,50); //多条数据方法

use db_school01;
create table reacher
(
teacherNo int,
name varchar(30),
sex char(2),
age int
)

select * from teacher; //查询数据语句(*表示查询所有数据)

insert into teacher values (20201010,‘liu’,‘女’,20); //表插入数据,不指定字段名

insert into teacher (teacherNo,name,sex,age) //指定字段名向表插入数据
values(20201011,‘zhang’,‘男’,20); //指定字段名

insert into teacher (teacherNo,name,age) //指定字段名向表插入数据
values(20201012,‘wang’,30); //指定部分字段名,注意数据顺序要和字段顺序一致

insert into teacher (name,teacherNo,age) //指定字段名向表插入数据
values(‘zhangsan’,20201013,30),(‘lisi’,20201014,50); //新增多条数据

修改数据
update 表名 set 班级号=’’ where 学生名=’’;
update tb_student set classNo=‘s2171’ where studentName=‘张三’; //修改部分记录数据
update tb_student set classNo=‘s2171’ //修改全部数据
同时修改多个字段的数据
update tb_student set birthday=‘1999-09-09’,nativePlace=‘江西南昌’,nation=‘汉’ where studentName=‘张三’;

删除数据:delete
delete from tb_student where studentName=‘张三’;
delete from tb_student;

drop和delete区别:
drop:删表的数据和结构
delete:只删数据
约束
主键(primary key)约束,外键(foreign key)约束,唯一性(unique)约束,默认(default)约束,非空(not null)约束,检查(check)约束
数据完整性约束包括:定义实体完整性(主键约束,候选键约束)
定义参照完整性(外键约束)
用户定义完整性(非空约束,默认约束,自增等)

主键约束:
	1.一个表中只能有一个主键
	2.唯一性
	3.主键的值不能为空
	4.主键,复合主键
	5.列级,表级(注:创建方式)

候选键(unique)
1.一个表可以有多个候选键
2.唯一性
3.候选键的值可以为空
4.候选键,复合候选键
5.列级,表级
/列级的方式创建主键/
use tb_school01
create table tb_student
(
studentNo char(10) primary key,
studentName varchar(20),
sex char(2),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(10)
)
/表级方式创建主键/
create table tb_student
(
studentNo char(10),
studentName varchar(20),
sex char(2),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(10),
primary key(studentNo)
)

/复合主键方式创建主键/
create table tb_student
(
studentNo char(10),
studentName varchar(20),
sex char(2),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(10),
primary key(studentNo,studentName)
)
/给主键命名/
语法规则:constraint 约束名字 primary key(列名1,…,列名n)

create table tb_student
(
studentNo char(10),
studentName varchar(20),
sex char(2),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(10),
constraint PK_tb_student_sno_sname primary key(studentNo,studentName)
)

/修改非空/(注意修改权限)
alter table tb_student alter column studentNo char (10) not null; //遇到权限的问题:表-右键-属性-权限,添加更改的权限

/在已经存在的表上,创建主键/

语法规则:alter table 表名 add constraint 约束名字 primary key (列名1,…,列名n)
alter table tb_student alter column studentNo char (10) not null;
alter table tb_student add constraint PK_tb_student_sno primary key
create table tb_student
(
studentNo char(10),
studentName varchar(20),
sex char(2),
birthday date,
nativePlace varchar(20),
nation varchar(20),
classNo char(10

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jamie-Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值