ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库从零开始的学习day01

2021-06-28 20:32:56  阅读:176  来源: 互联网

标签:door cgb2105 day01 id 从零开始 MariaDB 数据库 name


数据库

概念

存储数据和管理数据的仓库,主要分成两类:关系型数据库 和 非关系型数据库

关系型数据库:数据库建立在数据的紧密关系基础之上

非关系型数据库:数据库建立在数据的松散关系基础之上

安装

端口号默认3306,字符集改成UTF-8,密码root

配置环境变量

检查

mysql -u root -proot

mysql -u 用户名 -p密码

存储结构

表结构-行列—字段属性

SQL语句

SQL语言

概念:结构化查询语言,用来操作数据库,对库里的数据进行增删改查CRUD

是一种数据库查询和程序设计语言

数据库脚本文件的扩展名

分类

DML数据库操纵语言 CRUD manipulate

DDL:数据定义语言,创建库,创建表 definition

DCL:数据控制语言,分配具体数据操作权限 control

DQL数据查询语言,查询数据 query

如: insert, delete, select (插入,删除,膝盖,检索) 简称CRUD,新增Create、查询Retrieve、修改Delete

数据库常见操作

查询:show databases

新增:create database 库名

删除:drop database 库名(慎用)

注意:SQL不区分大小写

建库

创建数据库CGB2105并设置编码格式为utf8

MariaDB [(none)]> create database CGB2105 default character set utf8;

使用数据库:use CGB2105;

MariaDB [(none)]> use cgb2105;
Database changed

表的常见操作

创建表

create table 表名(字段名 字段类型(字段长度),字段2,字段3...)

String -> Varchar

int -> int

double -> double

删除表

drop table 表名;

修改表

alter table 修改的表名 add column 属性名 类型(长度);

MariaDB [cgb2105]> alter table tb_door add column
    -> address varchar(100);

查看表

show tables;

MariaDB [cgb2105]> show tables;
+-------------------+
| Tables_in_cgb2105 |
+-------------------+
| house             |
| tb_door           |
+-------------------+
2 rows in set (0.000 sec)

desc 表名; describe

查看表的属性。

表内的数据操作

添加数据

假设有四个属性1,2,3,4

insert into 表名 values("value 1","value 2"",value 3"",value 4");

MariaDB [cgb2105]> insert into tb_door values(1002,'Lineage','12345678','Lineage');
Query OK, 1 row affected (0.024 sec)

删除数据

delete from 表名;

MariaDB [cgb2105]> delete from tb_door;
Query OK, 2 rows affected (0.023 sec)

MariaDB [cgb2105]> select * from tb_door;
Empty set (0.000 sec)

修改数据

update 表名 set 属性名=属性新的值;

MariaDB [cgb2105]> update tb_door set door_name = 'name';
Query OK, 3 rows affected (0.026 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [cgb2105]> select * from tb_door;
+------+-----------+--------+---------+
| id   | door_name | tel    | address |
+------+-----------+--------+---------+
| 1001 | name      | 123456 | asd     |
| 1002 | name      | 123456 | asd     |
| 1002 | name      | 123456 | asd     |
+------+-----------+--------+---------+
3 rows in set (0.000 sec)

字符串类型一定要加 "" 或者 ‘ ‘,

int 类型加不加无所谓

查询数据

select 字段1,字段2,.../ * from 表名;

MariaDB [cgb2105]> select * from tb_door;
+------+-----------+-----------+----------+
| id   | door_name | tel       | address  |
+------+-----------+-----------+----------+
| 1001 | hell      | 123456789 | Infernal |
| 1002 | Lineage   | 12345678  | Lineage  |
+------+-----------+-----------+----------+
2 rows in set (0.001 sec)
MariaDB [cgb2105]> select id,door_name from tb_door;
+------+-----------+
| id   | door_name |
+------+-----------+
| 1001 | hell      |
| 1002 | Lineage   |
+------+-----------+
2 rows in set (0.000 sec)

客户端工具

操作数据库

创建库:库名和字符格式

操作表

创建表:设置属性值

操作表里数据

数据类型

命名规则

  • 字段名必须以字母开头,尽量不要使用拼音
  • 长度不能超过30个字符(不同数据库,不同版本会有不同)
  • 不能使用SQL的保留字,如where,order,group
  • 只能使用如下字符az、AZ、0~9、$ 等
  • Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name
  • 多个单词用下划线隔开,而非Java语言的驼峰规则

字符

  • char长度固定,不足使用空格填充,最多容纳2000个字符char(11)存储abc,占11位。查询速度极快但浪费空间
  • Varchar变长字符串,最多容纳4000个字符,Varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为Varchar
  • 大文本: 大量文字(不推荐使用,尽量使用Varchar替代)

数字

  • tinyint,int整数类型
  • float,double小数类型
  • numberic(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中可以有两位小数
  • decimal和numeric表示精确的整数数字

日期

  • date 包含年月日
  • time时分秒
  • datetime包含年月日和时分秒
  • timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数

图片

  • blob 二进制数据,可以存放图片、声音,容量4G。早期有这样的设计。但其缺点非常明显,数据库庞大,备份缓慢,这些内容去备份多份价值不大。同时数据库迁移时过大,迁移时间过久。所以目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。

字段约束

*主键约束

主键约束:如果为一个列添加了主键约束,那么这个列就是主键,主键的特点是唯一且不能为空。通常情况下,每张表都会有主键。

添加主键约束,例如将id设置为主键:

#没有约束,id值可以重复,可以是null
CREATE TABLE a(id int);
#设置主键,id值不能重复,不能是null
CREATE TABLE b(id int PRIMARY KEY);
#设置主键,自动递增
CREATE TABLE c(id int PRIMARY KEY auto_increment);
#非空约束:约束了字段的值不能为空
CREATE TABLE d(name VARCHAR(20));
CREATE TABLE e(name VARCHAR(20) NOT NULL);
#唯一约束:字段值不能重复
CREATE TABLE f(name VARCHAR(20));
CREATE TABLE g(name VARCHAR(20) UNIQUE);

标签:door,cgb2105,day01,id,从零开始,MariaDB,数据库,name
来源: https://www.cnblogs.com/specailweek/p/14946121.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有