数据库知识点1
2022/4/4 2:20:03
本文主要是介绍数据库知识点1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据库Day One july 30
一、使用cmd来操作数据库
输入命令:mysql –uroot –proot(此命令具有最高权限)mysql –uroot -p
1.(-uroot,代表用户名是root,-proot 代表是密码root)
2.如果用户名或者密码不对,则出现错误提示:Access denied…(访问被拒绝,权限不够)
3.mysql命令没有传用户名密码,则默认是账户,密码均是空的用户。--操作权限小
4.show databases;-显示当用户的所有数据库
5.use 数据库名字; -表示进入到当前需要操作的某个数据。
6.show tables: - 显示当前操作的数据库中所有的表。(table – 表)
7.desc 表的名字:比如…desc person ;--显示某个表定义的时候详细信息,包括有哪些字段(filed)类型(type)
二、数据库分类
数据库分类:
- 关系型数据库: oracle , nysql , sql server , DB2(IBM) 主要通过SQL进行数据处理
- 非关系型数据库(不支持SQL): MongoDB , Redis , Hbase
ER模型(E – Entity实体, R – Relation 关系)
- ER模型,实际就是指数据表的一种可视化的图形表示方式
- 矩形代表实体
- 菱形表示关系
- 椭圆表示的实体的属性
实体之间的关系
一对一:一个国家一个总统
一对多:一个班级由多个学生
多对多:课程和学生
**每一个实体对应数据库中的一张表,数据库中每一张表,对应一个java实体类。
SQL(Struct query language结构化查询语言)
sql语句注释:第一种:--注释 第二种:/*注释*/
当写一个.sql的文件的时候,如果要加注释,采用上面两种方法,一种只能sql语句的后面。
三、在cmd中使用DDL语句操作数据库
- 命令行连接数据库
-
创建数据库 指定字符集 --> create database 数据库名字 default character set utf8
3. 删除数据库 --> drop database 数据库名字
- 创建表的属性(table)
- 创建表的命令create table表里的属性
- 字段信息,写在()里面,每个字段之间用“,”分隔,最后一个字段不需要“,”
- 每个字段必须在有字段名和字段类型,字段名如果和sql关键字重名,需要使用引号引起来。【sql中不区分单引号和双引号】
- NOT NULL :表示字段的value不能为null。
- auto_increment:表示该字段对应的内容自动增加,一般用于int类型
- primary key:设置字段为主键。主键不能为空,且不能重复。
create table tbl_test (test_id int auto_increment primary key ,test_name char(50), test_age int );
注:key可以大写,也可以小写。
存储的数据,是否要区分大小写,表明,字段名等都不区分大小写。 --sql语言中
存储的数据,是否要区分大小写?希望存储的数据区分大小写。
- 数据类型
int / bigint --整数
char --定长字符串【如果设置了char的长度为50,那么每个字符串长度都是50】 超出长度则被忽略
varchar --可变长字符串【如果设置了varchar的长度为50,那么实际已存入的字符长度为准】
decimal/numeric –小数 salary decimal(10,2):整数位8位,小数位2
datetime -- 日期,范围很广(常用)
timestamp --日期,范围:1970~2032年,优势支持时间区域的变换
- 数据表的设计原则
- 字段不可再分,eg:一个字段存座机就不能存电话号码
--应该设计为两个字段,一个专门存手机号,一个专门存手机号,一个专门村座机号
- 一般来说每个表有一个主键字段
- 其他字段必须直接依赖主键,eg:员工表不能存部门信息
练习:用sql语句创建一个表,用于存储学校school
学校编号:sc_code varchar
学校名字:sc_name varchar
地址:sc_address varchar
生日:sc_birth datetime
占地面积:sc_area decimal
create table school(sc_code varchar(4) primary key, sc_name varchar(100) not null,
sc_address varchar(300),sc_birth datetime,sc_area decimal(10,3))
四、DML语句
-
insert插入数据到表中
insert into 表名 values(字段1值,字段2值….)
插入所有字段,按建表的时候的字段顺序。必须所有的字段都要插入值,并且按字段的默认排序
直插入部分字段的值
insert into 表名(字段1,字段2…) values(字段1的值,字段2的值…)
--如果某个字段建表的时候,设置了not null的约束条件,那么必须给该字段设置值
--表名中的字段的声明和values中的字段值,应该是对应关系
--字段名和字段的值必须数量一致,顺序一致
--允许为null的字段可以不给值
设置为自动增长的字段,可以不给值
insert into tbl_test(test_name,test_age) values(‘xiaodu’,30)
2.select 表的查询(重点)
- 全表查询
select * from (表名); --*代表所有字段名
查询出所有字段,所有数据行
select*from school;
select * form tbl_test;
select 字段名1,字段名2,…from表名;
查询出指定的字段名对应的数据,所有数据行
select sc_code,sc_name from school;(查指定列)
- 根据where条件查询
--select*form表名 where条件:--条件自定
select*from school where sc_code = ‘1002’;---找出sc_code字段值为1002的行
这篇关于数据库知识点1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南