sql基础笔记

本文详细介绍了数据库的基础知识,包括数据库的分类、典型数据库产品如Oracle、MySQL和Access,以及DBMS与SQL的关系。深入讲解了SQL语言,涵盖数据表的基本操作如创建、删除和修改,以及查询语言的使用,包括条件查询、排序和聚合函数。此外,还讨论了数据库的约束,如非空、唯一性和主键约束,以及外键约束的概念。
摘要由CSDN通过智能技术生成

1.1 什么是数据库

存储数据的仓库

存储的介质 硬盘和内存

1.2数据库的分类

关系型数据库(sql) 非关系型数据库(nosql)

(存储到内存中,读取快) 断电易丢失数据

1.3数据库产品 DBMS

oracle:大型数据库

mysql:中型数据库

access:小型数据库

1.4 dbms sql 之间的关系

dbms-->执行(sql)-->操作(db)

1.5 数据库的基本组成单元

表:可读性强

___________________________________________________________________________________

注释:单行注释+多行注释

show databases; use+ 数据库名后, show tables

create database+数据库名称; create table+表名(字段1 字段类型,...)

drop database+数据库名称; drop table+表名; drop table if exists 表名;

delete from product where product_name='勺子';

select database(); select version(); select * from product;

select product_name,product_id,sale_price from product;

from product;

describe/desc+表名称 select * from+表名 前者查看表结构的定义

(field:字段名称 type:字段类型 null:可不可以为空 key:主外键 default:默认值

extra:附加条件)

rename table to ; & rename table 表1 to 表2

alter table drop ;

alter table add column [约束];

alter table change ;

update product set purchase_price = 10 where product_name= '勺子';

insert into 表名(字段1,字段2,字段3...) values(值1,值2,值3......);

insert into 表名(字段2,字段1,字段3...)

汇总写法----往表中插入记录:

1.insert into product values('0001','T恤衫'.'衣服',350,300,'2009-09-11');

2.insert into product values('0002','打孔器','办公用品',500,300,'2009-09-20');

汇总1.2,结果为: insert into product values('0001','T恤衫','衣服',350,300,'2009-09-11'),('0002','打孔器','办公用品',500,300,'2009-09-20');

ctrl+c 终止一条正在写的sql; 适用于mysql

查询mysql数据库中所有的表名

select table_name from information_凡内训1; (???)

获取mysql数据库表表头所有字段

select column_name from information_ (???)

___________________________________________________________________________________

存储的介质:硬盘和内存

数据库的分类:

关系型数据库(sql) :可观,浪费内存 & 一般选择

非关系型数据库(nosql):存储速度快,断电丢失数据

数据库的产品:


知识点:修改表中的默认值

在创建表的时候设置默认值

语法结构:

创建表student,包含字段id/name/age/sex, 并且给age设置默认值为18,性别设置为'女'

create table student(id int,name varchar(6),age int default 18,sex char(1) default'女');

当有默认值的时候,可以省略被设置默认值的字段,当插入数据包含默认值字段时,新值会代替默认值.

insert into student(id,name) value(001,'张美丽');

应用:

插入李帅的数据id为002 性别为男

插入王俊的数据id为003 年龄为30

insert into student(name,id,sex) values('李帅',002,'男');

insert into student(name,id,age) values('王俊',003,30);

出题应用:

create table xgmoren('修改默认值' varchar(10), '设置对象' varchar(10) default '字段');

create table xgmoren('修改默认值' varchar(10), '设置对象' char(2) default '字段');

create table xgmoren(修改默认值 varchar(10), 设置对象varchar(10) default '字段'); × 错1.空格 错2.字段名不加引号

create table xgmoren(修改默认值 varchar(10), 设置对象 varchar(10) default '字段'); √

create table xgmoren(修改默认值 varchar(10), 设置对象 char(2) default '字段');

insert 修改默认值 values('字段');×

insert into 修改默认值 values('字段');×

insert into xgmoren(修改默认值) values('字段');√

insert into xgmoren(修改默认值,设置对象) values('字段','非字段');√

__________________________________________________________________________________

知识点: 表的复制及批量插入-- 复制整张表

语法:create table 新表名 as select * from 旧表名;

应用:复制表student, 新表名为stu;

create table stu as select * from student;

出题应用:

create table xiugaimorenzhi as select* from xgmoren;

___________________________________________________________________________________

表的复制及批量插入--复制表中的部分字段

语法:create table 新表名 as select 旧表名中的字段名 from 旧表名;

应用:复制student表中id和name字段,复制到stu1

create table stu1 as select id,name from student;

出题应用:

create table xiugaimorenzhi1 as select 修改默认值 from xiugaimorenzhi;

___________________________________________________________________________________

删除数据---删除部分数据(慎用!!)

语法:delete from 表名 where 条件; 不写where后面的条件默认删除整张表的数据

应用:将student 表中id为3的记录删除

delete from student where id=3;

删除整个表的数据

delete from stu1;

出题应用:

delete from xiugaimorenzhi where 设置对象='非字段';

变为了

_______________________________________________________________________

知识点:删除大表

一张表中的数据量特别大的时候,delete语句的删除效率极低,虽然删除了数据,没有释放真实的空间.可以回滚;

如果要高效的删除,并且确定表中的数据确实不要了,可以使用truncate,使用truncate删除表之后.空间会立即释放,但表结构还在.

语法:

应用:举例txt

& delete 是修改-删除 表中数据

drop 是修改-删除 表中结构

truncate xiugaimorenzhi;

如图,表在,表结构在,但是数据没有了

___________________________________________________________________________________

知识点:修改字段(列)名

语法:alter table 表名 change column 旧字段名 新字段名 字段类型

应用:将newstu表中的id字段改成sid

alter table newstu change column id sid int;

& 区分修改字段类型和修改字段名

出题应用

alter table xiugaimorenzhi1 change column 修改默认值 修改默认值1 varchar(8);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值