初识数据库知识点 学习基础操作技巧

数据库类型 (DDL  DML   DQL   DCL)

(一).DDL: 数据定义语言:简称DDL(Data Definition Language)
(二).DML: 数据操作语言:简称DML(Data Manipulation Language)
(三).DQL: 数据查询语言:简称DQL(Data Query Language)
(四).DCL: 数据控制语言:简称DCL(Data Control Language)

知识点:

(一).DDL: 数据定义语言:简称DDL(Data Definition Language)

作用: 用来定义数据库对象:数据库,表,列/字段等。 ​ 关键字: create,drop,alter等

一.数据库操作

数据库关键字:create创建   drop删除   use使用   show查看所有   

1.创建数据库: create database [if not exists] 数据库名;

2.删除数据库: drop database 数据库名;

3.使用/切换数据库: use 数据库名;

④.查看操作 1.查看所有的数据库名: show databases; 2.查看当前使用的数据库: select database(); select database(); 3.查看指定库的建库语句: show create database 数据库名;

注意:
创建库只有use后不接database,接数据库名. database后接库名
创建库关键词 create创建  drop删除  use使用  show查看所有  select database()查看当前使用  show create 查看建库语句

二.库中表的操作

库中表关键词: create创建    drop删除     rename...to...修改表名   show查看所有 

desc查看表信息结构   

1.创建表

格式化代码快捷键: ctrl+alt+L

创建create table [if not exists] 表名(id int);
create table if not exists 表名(`desc` varchar(100)); 用反引号标关键词

2.删除表:

drop table [if exists] 表名; drop table 表名;

3.修改表名:

rename table 旧表名 to 新表名;

rename table 旧表名 to 新名;

4.查看所有表 show tables;

5.查看表结构 desc 表名;

查看指定表的建表语句: show create table 表名;

注意:
创建表只有desc后不接table,接表名.    table 后接表名;     表名(字段名 字段类型);
①创建create table [if not exists] 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型....);
②删除drop table [if exists] 表名;
③修改表名rename table 旧表名 to 新表名;表名
④查看所有表 show tables; 查看表结构 desc 表名;
查看指定表的建表语句 show create table 表名;
库中表关键词 create创建  drop删除  rename...to...修改表名   show查看所有   desc查看表信息结构  show create 查看建表语句

三.修改表中字段(增删改) 修改定义的字段名和字段类型

修改表中字段关键词: alter修改    alter...add..添加字段    alter...drop..删除字段

  alter...change 修改字段名;字段类型     modify 只修改字段类型     desc查看信息结构

1.添加字段:

alter table 表名 add [column] 字段名 字段类型 [字段约束];

:alter table 表名 add [column] name varchar(100);

2.删除字段:

alter table 表名 drop [column] 字段名;

:alter table 表名 drop [column] name;

3.修改字段名和字段类型:

alter table 表名 change [column] 旧字段名 新字段名 字段类型 [字段约束];

:alter table 表名 change [column] name hight varchar(100);

4.modify只修改字段类型:

alter table 表名 modify [column] 字段名 字段类型 [字段约束];

alter table 表名 modify [column] name varchar(100);

5.查看字段信息=查看表结构

desc 表名;

注意:
修改表只有desc后不接table,接表名; 
修改字段关键词 alter增删   alter...add..添加字段   alter...drop..删除字段   alter...change 修改字段名;字段类型   modify 只修改字段类型   
desc查看信息结构 

(二).DML: 数据操作语言:简称DML(Data Manipulation Language)

作用:用来对数据库中表的记录进行更新。 ​ 关键字: insert,delete,update等 ​

四.表中记录操作(增删改)[今日重点]

1.插入数据记录:

insert into 表名 (字段名,字段名,字段名...) values (具体值,具体值,具体值,...) , (具体值,具体值,具体值...); 注意1: 具体值要和前面的字段名以及顺序一一对应上 注意2: 如果要插入的是所有字段,那么字段名可以省略(默认代表所有列都要插入数据) 注意3: 如果要插入多条记录,values后多条数据使用 逗号 分隔

:insert into 表名(name, age, hight, weight ,...) values ('张三', 26, 186, 40 ,...), ('李四', 20, 179, 62 ,...);

注意2: insert into 表名 values ('张三', 26, 186, 40 ,...)('李四', 20, 179, 62 ,...);

2.修改数据记录:

update 表名 set 字段名=值 [where 条件]; 注意: 如果没有加条件就是修改对应字段的所有数据

update 表名 set name='王五' where age=26;

注意: update 表名 set name='王五'; (没有加条件就是修改对应字段的所有数据);

3.删除数据记录:

delete from 表名 [where 条件]; 注意: 如果没有加条件就是删除所有数据

delete from 表名 where name='张三'; 删除名字叫张三的一列数据

注意: delete from 表名; (报黄警告,提示选择excute执行,删除表所有数据);

表中记录操作关键词: 关键词后接表名
insert into 表名 values (),()..;插入数据内容 
update 表名 set 字段名=值 [where 条件]; 修改数据内容
delete from 表名 [where 条件]; 删除数据内容

五.约束

约束作用:约束实际上就是表中数据的限制条件

1.主键约束

主键约束关键字: primary key

主键约束特点: 限制主键插入的数据不能为空,不能重复

建表的时候添加主键约束:  create table 表名(主键名 主键类型 primary key , 其他字段...);

注意: 一个表中只能有一个主键

2.非空约束

非空约束关键字: not null

非空约束特点: 限制对应数据不能为空null

建表的时候添加非空约束:  create table 表名(主键名 主键类型 primary key ,字段名 字段类型 not null , 其他字段...);

注意: 一个表中可以有多个非空约束

3.唯一约束

唯一约束关键字: unique

唯一约束特点: 限制对应的数据不能重复

建表的时候添加唯一约束:  create table 表名(主键名 主键类型 primary key ,字段名 字段类型 unique, 其他字段...);

注意: 一个表中可以有多个唯一约束

4.默认约束

默认约束关键字: default

默认约束特点: 可以提前给字段设置默认值

建表的时候添加默认约束:  create table 表名(主键名 主键类型 primary key ,字段名 字段类型 default 默认值, 其他字段...);

注意: 一个表中可以有多个默认约束

5.外键约束

外键约束关键词:foreign key

创建外键:   create table 表名(字段定义…CONSTRAINT `外键名称`  foreign key (字段)references 主表名(主键字段) 属性)

修改外键:  alter table 表名 add constraint `外键名称` foreign key (外键字段)references 主表(主键) 属性);

删除外键   alter table 表名 drop foreign key 外键名称;

(三).DQL: 数据查询语言:简称DQL(Data Query Language)

作用:用来查询数据库中表的记录。 ​ 关键字: select,from,where等 ​

六.表中数据查询

1.基础查询

基础查询关键字: select:查什么    from: 从哪儿查

基础查询格式:  select [distinct] 字段名 | * from 表名;
             []:可以省略
              |: 或者
              *: 对应表的所有字段名
              distinct: 去除重复内容
              as  : 可以给表或者字段起别名

基础查询实例:

# 需求1: 查询所有的商品信息
select pid,pname,price,category_id from product;
select * from product;

# 需求2: 只查询商品名称和对应价格
select pname,price from product;

# 需求3: 查询商品分类id,要求去重
select distinct category_id from product;

# 需求4: 查询商品名称和对应价格,要求最终展示字段名为商品名称和商品价格
# 实际工作中不建议用中文,此处仅仅为了演示
select pname as 商品名称,price as 商品价格 from product;
# 注意: as 关键字可以省略
select pname 商品名称,price 商品价格 from product;

# 需求5: 所有的商品价格要求加100元展示
select pname 商品名称,price+100 商品价格 from product;

2.条件查询

条件查询关键字:  where 

条件查询基础格式: select 字段名 from 表名 where 条件;

              比较运算符: >  <  >=  <=  !=  <>
              
              逻辑运算符: and  or  not
              
              范围 查询: 连续范围:between x and y       非连续范围: in(x,y)
              
              模糊 查询: 关键字:like   %:0个或者多个字符   _:一个字符
              
              非空 判断: 为空: is null    不为空:is not null

①.比较查询

# 1.比较运算符: >  <  >=  <=  !=  <>

# 需求1: 查询商品价格大于800的商品信息
select * from product where price > 800;

# 需求2: 查询商品价格小于800的商品信息
select * from product where price < 800;

# 需求3: 查询商品价格大于等于800的商品信息
select * from product where price >= 800;

# 需求4: 查询商品价格小于等于800的商品信息
select * from product where price <= 800;

# 需求5: 查询商品价格不等于800的商品信息
select * from product where price != 800;
select * from product where price <> 800;

②.逻辑查询

# 2.逻辑运算符: and  or  not

# 需求1: 查询商品价格介于200-2000之间(含200,2000)的商品信息
select * from product where price >= 200 and price <= 2000;

# 需求2: 查询商品价格等于200或者等于2000的商品信息
select * from product where price = 200 or price = 2000;

# 需求3:查询商品价格不在200-2000之间(含200,2000)的商品信息
select * from product where not (price >= 200 and price <= 2000);

③.范围查询

# 3.范围查询: 连续范围:between x and y   非连续范围: in(x,y)

# 需求1: 查询商品价格介于200-2000之间(含200,2000)的商品信息
select * from product where price between 200 and 2000;

# 需求2: 查询商品价格等于200或者等于2000的商品信息
select * from product where price in(200,2000);

# 需求3: 查询商品价格不在200-2000之间(含200,2000)的商品信息
select * from product where price not between 200 and 2000;

# 需求4: 查询商品价格不等于200和2000的其他商品信息
select * from product where price not in(200,2000);

④.模糊查询

# 4.模糊 查询: 关键字:like   %:0个或者多个字符   _:一个字符

# 需求1: 查询商品名称以'香'开头的所有商品信息
select * from product where pname like '香%';

# 需求2: 查询商品名称包含'想'字的所有商品信息
select * from product where pname like '%想%';

# 需求3: 查询商品名称以'斯'字结尾的所有商品信息
select * from product where pname like '%斯';

# 需求4: 查询商品名称第三个字是'斯'的商品信息
select * from product where pname like '__斯%';

# 需求5: 查询商品名称以'香'开头并且是三个字的所有商品信息
select * from product where pname like '香__';

⑤非空判断

# 5.非空 判断: 为空: is null    不为空:is not null
# sql中null代表空的无意义的意思,和空字符串''以及字符串'null'不是一回事!!!

# 需求1: 查询商品分类id为空的商品信息
select * from product where category_id is null;

# 需求2: 查询商品分类id不为空的商品信息
select * from product where category_id is not null;

# 需求3: 查询商品分类id是空字符串的商品信息
select * from product where category_id = '';

# 需求4: 查询商品分类id是名为'null'的商品信息
select * from product where category_id = 'null';

(四).DCL: 数据控制语言:简称DCL(Data Control Language)

用来定义数据库的访问权限和安全级别,及创建用户。

了解即可

[拓展知识:字段类型知识点]

1.year显示格式:“yyyy”,表示的是年份值。

取值范围:1901 ~ 2155 存储空间:1个字节

2.date显示格式:“yyyy-mm-dd”,表示的是日期值。取值范围:1000-01-01 ~ 9999-12-3存储空间:3个字节

3.time显示格式:“hh:mm:ss”,表示的是时间值。取值范围:-838:59:59 ~ 838:59:59,小时部分如此大的原因是 TIME 类型不仅可以用于表示一天的时间(必须小于 24 小时),还可能是某个事件过去的时间或两个事件之间的时间间隔(可大于 24 小时,或者甚至为负)。存储空间:3个字节

4.datetime显示格式:“yyyy-mm-dd hh:mm:ss”,表示的是日期和时间值。取值范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59存储空间:8个字节

5.timestamp显示格式:“yyyymmddhhmmss”,表示的是时间戳值(时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数)。取值范围:1980-01-01 00:00:01 UTC ~2040-01-19 03:14:07 UTC存储空间:4个字节

6.datetime和timestamp的其他区别datetime在存储日期数据时,按实际输入的格式存储,即输入什么就存储什么,与时区无关;而 timestamp值的存储是以 UTC(世界标准时间)格式保存的,存储时对当前时区进行转换,检索时再转换回当前时区。即查询时,根据当前时区的不同,显示的时间值是不同的.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Elysiumk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值