数据库了解

  • 概念

    • 数据库就是一种特殊的文件,其中存储着需要的数据
    • 一个数据库可以有多张表
    • MySQL是一种关系型数据库
      • 具有关联性数据的就是关系型数据库
    • MySQL是一种软件可以用来创建mysql数据库
    • MySQL也是C/S构架(底层TCP)
      • MySQL客户端

        • 客户端连接服务端使用TCP协议连接
        • 使用时SQL语句操作
      • MySQL服务器
        • MySQL服务器操作数据库
  • 数据库优点
    • 持久化存储
    • 读写速度高
    • 保存速度有有效性
    • 对程序支持非常好,容易扩展
  • 数据库词汇
    • 列:字段
    • 行:记录
    • 表:记录的集合
    • 主键:唯一标记一行记录的
    • 外键:对于一张表中某个字段的值是另一张表的主键的值
  • 常见的关系型数据库及底层了解
    • RDBMS

      • 是一种程序的简称,分为关系型数据库和非关系型数据库
    • 关系型数据库
      • MySQL(常用与制作网站)

        • 常用版本:5.1 5.6 5.7 5.8
      • sqlite
      • Oracle
        • 常用版本 Oracle 10g Oracle 11g
      • sqlserver(Microsoft)
      • db2(IBM)
    • 非关系型数据库
      • redis(处理缓存)
      • mangodb(存储非关系型数据)

SQL语言概念

  • SQL语句是一种结构化查询语句,可以用来操作RDBMS数据库语言
  • sql语句分类
    • DQL查询

      • select
    • DML操作
      • insert update delete

MySQL基础操作

  • 安装

    • ubuntu:

      • sudo apt-get install mysql-server(服务端)
      • sudo apt-get install mysql-client(客户端)
  • 启动
    • sudo service mysql start
  • 暂停
    • sudo service mysql stop
  • 重启
    • sudo service mysql restart
  • 配置文件
    • /etc/mysql/mysql.conf.d/mysqld.cnf

MySQL的主要数据类型和约束

数据类型

  • 整数型

    • int
    • bit
  • 小数

    • decimal

      • decimal(5, 2),表示一共存5位数,小数占2位
  • 字符串

    • varchar
    • char
      • char(3)表示固定长度的字符串,长度不够会用空格补全,不可以超过3个字符
    • varchar
      • varchar(3)填充ab就会存储ab,不可以超过3个字符
  • 时间类型

    • data, time, datatime
  • 枚举类型

    • enum

      • 比如性别,代表只有固定的类型让人选择
  • test类型

    • 当字符大于4000之后推荐使用
  • ps:

    • 对于图片,音频,视频等文件,不存储在数据库中,而是上传到服务器中,数据库只保存文件的保存路径

约束

  • 约束是用来限制每一个字段的

  • 主键primary key

    • 物理上存储的顺序
  • 非空not null

    • 此字段不允许为空
  • 外键

  • 数值类型

    • tinyint 1个字节,0-255
    • smallint 2个字节 0-65535
    • mediumint 3个字节
    • int/integer 4个字节
    • bigint 8个字节
  • 字符串

    • char
    • barchar
    • text

用命令来操作数据库

数据库连接

  • mysql -uroot -pmysql
  • mysql -uroot -p (这种方式需要写密码)

退出数据库

  • quit/exit/ctrl+d

查看数据库

  • show databases;

显示时间

  • select now();

显示版本

  • select version();

创建数据库

  • create database python;(创建一个名称为Python的数据库)
  • create database pythonnew charset=utf8;(创建一个字符集为utf8编码名称为pythonnew的数据库)

删除数据库

  • drop database python;(删除名称为Python的数据库)

使用数据库

  • use 数据库名称

查看当前使用数据库

  • select database();

数据表操作

  • 显示数据库所有的表

    • show tables;
  • 创建一个数据表
    • create table xxxxx(id int, name varcharm(30)); # 一个逗号创建一个字段
    • create table xxxxx(id int primary key not null auto_increment, name varcharm(30)); # 添加约束在每一个字段后面加上约束
    • 案例创建一个students表(id,name,age,high,gender,cls_id)
create table students(
id int unsigned not null auto_increment parimary key,
name varchar(30),
age tinyint unsigned defult 0,
high decimal(5,2),
gender enum("男","女") default "男",
cls_id int unsigned
  • ps:

    • 创建表顺序(字段名 类型 约束)
  • desc 数据表的名字;(可以快速查看表结构)

数据表字段结构的的增删减查

    • alter table students add birthday datetime;
    • alter table 表名
    • drop table 表名
    • alter table 表名 modify brithday data; 不重名
    • alter table 表名 change brithday birth date default '1990-01-01'; 重名

ps:

show create table students; # 可以查看创建这个数据表的SQL语句

数据的增删改查

  • 增:

    • insert into 表名 values(....)
    • insert into 表名 values(....),(....)
    • insert into 表名(字段,字段) values (值1, 值2)
    • insert into 表名(字段,字段) values (值1, 值2),(值1,值2)
    • ps:
      • 枚举中数字1代表
  • 改:
    • update 表名 set 字段=值 (直接修改全部字段)
    • update 表名 set 字段=值 where name=值 (在满足where后面的条件,一般用主键来判断来指定修改)
    • update 表名 set 字段=值,字段2=值 where name=值 (一次修改多个值)
  • 查询
    • select 指定字段 from 表名 (*代表所有的字段)
    • select 指定字段 as 命名 from 表名 (可以修改字段的名称显示出来)
    • truncate students;(清空表)
    • delete from 表名; (删除表的所有内容)
    • delete from 表名 where id<6; (指定删除)
    • 不要去删除数据,可以添加字段来逻辑删除
      • alter table students add is_delete bit default 0;
      • update students set is_delete=1 where id=6;

MySQL基础入门使用和命令的使用的更多相关文章

  1. MySQL基础入门之常用命令使用

    如何启动MySql服务 /etc/init.d/mysqld start service mysqld start Centos .x 系统 sysctl start mysqld 检测端口是否运行 ...

  2. MySQL基础入门之常用命令介绍

    mysql命令介绍 mysql 是数据库管理命令 通过mysql --help来查看相关参数及使用说明 mysql --help                #mysql数据库管理命令 Usage: ...

  3. 【转载】20分钟MySQL基础入门

    原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...

  4. mysql 基础入门 单表查询

    单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...

  5. 1、mysql基础入门(1)

    1.mysql基础入门: 1.1.数据库介绍:

  6. MySQL基础入门(1)

    MySQL基础入门(1) 为什么学习MySQL 关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商 ...

  7. MySQL快速入门及常用命令

    数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...

  8. MySQL基础知识和常用命令总结

    说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...

  9. MySQL 基础入门

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

随机推荐

  1. JVM性能优化系列-(3) 虚拟机执行子系统

    3. 虚拟机执行子系统 3.1 Java跨平台的基础 Java刚诞生的宣传口号:一次编写,到处运行(Write Once, Run Anywhere),其中字节码是构成平台无关的基石,也是语言无关性的 ...

  2. Shell case语法结构解析

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 ...

  3. 使用小书匠及markdown here编辑博客和微信公众号

    1. 使用小书匠连接Evernote并发布笔记到博客园 1.1 小书匠初探 我平时的信息收集的主要方法是采用Pocket+Evernote. 简单来说: 如果访问到非常有用,而且是必须要立刻记录的内容 ...

  4. Pandas Statistical Functions

    import pandas as pd import random import numpy as np n_rows=5 n_cols=2 df = pd.DataFrame(np.random.r ...

  5. tomcat-windows10环境搭建

    1.进入Tomcat官网Apache Tomcat® - Welcome! 2.根据操作系统选择合适的版本下载 zip用于windows操作系统, tar.gz用于unix和linux操作系统 Bin ...

  6. 5G为人工智能与工业互联网赋能 高清79页PPT

    人工智能和5G是时下最热门的科技领域之一,两者都是能改变社会,推进下一代工业革命的颠覆性技术. 工业互联网是利用基础科学.工业.信息技术.互联网等领域的综合优势,从大数据应用等软服务切入,注重软件.网 ...

  7. LeetCode 684. Redundant Connection 冗余连接(C++/Java)

    题目: In this problem, a tree is an undirected graph that is connected and has no cycles. The given in ...

  8. 【JavaScript】进制转换&位运算,了解一下?

    前言 在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它.作为一位编程人员,这些都是基础知识.如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难.本文你将会学习到: 进制转 ...

  9. 《自拍教程16》cmd的常用技巧

    cmd.exe是Windows 自带的命令行操作交互界面软件. 虽然功能有限,但是毕竟是默认的命令行操作交互界面软件. 肯定所有的电脑都是自带的. 当然现在已经有很多改良版的,交互体验更好的cmd类似 ...

  10. Java中类锁和对象锁

    类锁 类锁 锁的其实是类的Class对象,类锁的代码写法是对类方法加synchronize,或者 synchronize(xx.class){} 对象锁 对象锁 锁的是类的实例对象,对象锁的形式有 对 ...