• 数据库基础


    数据库基础

    什么是数据库

    • 数据库是一个用来存储各种数据的容器
    • 数据库管理系统:专门用于创建和管理数据库的统一软件,介于应用和操作系统之间,保证数据的完整性、可靠性和安全性
    • 数据库应用程序:通过数据库管理系统提供的接口与之通信,访问和管理数据的应用程序

    SQL语言

    ​ SQL语言是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存储数据,查询数据,更新数据等等

    安装与下载

    • 下载社区版(免费)安装略

    • 设置环境变量

    • 初始化数据库

    # 安装MySQL
    mysqld --initialize
    
    # 进入mysql
    mysql -u root -p
    # 重新设置密码
    mysql> set PASSWORD = '重新设置的密码';
    
    

    数据库和表的操作

    • 创建和删除数据库
    mysql> Show databases; #查看所有的表单
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    # 创建数据库
    mysql> Create database Test;
    Query OK, 1 row affected (0.06 sec)
    
    # 查询创建好的数据库
    mysql> Show create database Test;
    +----------+---------------------------------------------------------------+
    | Database | Create Database                                               |
    +----------+---------------------------------------------------------------+
    | Test     | CREATE DATABASE `Test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.04 sec) # 默认创建的字节集使utf-8
    
    # 修改数据库的默认编码方式
    # Alter database 数据库名 default character set 编码方式 collate 编码方式_bin;
    mysql> Alter database test default character set gbk collate gbk_bin;
    Query OK, 1 row affected (0.29 sec)
    
    # 删除已经创建的数据库
    mysql> Drop database 数据库名称;
    
    • 创建修改删除表
    # 创建表
    mysql> Use Test
    Database changed
    # Create table testInfo(字段 数据类型,字段 数据类型);
    mysql> Create table testInfo(name char,number int);
    Query OK, 0 rows affected (0.43 sec)
    
    # 查看创建的表
    mysql> Show create table testInfo;
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table    | Create Table                                                                                                                                                 |
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | testInfo | CREATE TABLE `testinfo` (
      `name` char(1) COLLATE gbk_bin DEFAULT NULL,
      `number` int(11) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin |
    
    mysql> Desc testinfo;
    +--------+---------+------+-----+---------+-------+
    | Field  | Type    | Null | Key | Default | Extra |
    +--------+---------+------+-----+---------+-------+
    | name   | char(1) | YES  |     | NULL    |       |
    | number | int(11) | YES  |     | NULL    |       |
    +--------+---------+------+-----+---------+-------+
    # 修改表编码格式
    mysql> Alter table testInfo default character set utf8 collate utf8_bin;
    Query OK, 0 rows affected (0.17 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    # 修改对应表中的字段
    # Alter table 表名 change 旧字段名 新字段名 新类型;
    mysql> Alter table testInfo change name name_new char;
    Query OK, 0 rows affected (0.74 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    # 修改表的名称
    mysql> Alter table testInfo rename testInfo_new;
    mysql> Desc testinfo_new;
    +----------+---------+------+-----+---------+-------+
    | Field    | Type    | Null | Key | Default | Extra |
    +----------+---------+------+-----+---------+-------+
    | name_new | char(1) | YES  |     | NULL    |       |
    | number   | int(11) | YES  |     | NULL    |       |
    +----------+---------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    # 修改字段的属性
    # Alter table 表名 modify 字段名 新的数据属性;
    mysql> Alter table testInfo_new modify number float;
    
    # 添加新的字段       表名              新的字段名  数据属性               
    mysql> Alter table testInfo_new add new_number text;
    Query OK, 0 rows affected (0.59 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    # 删除字段
    mysql> Alter table testInfo_new drop number;
    Query OK, 0 rows affected (0.63 sec)
    
    # 删除表
    mysql> Drop table testInfo_new;
    
    • 数据类型

    表中数据操作

    • 查看表中数据
    # 查看字段的详细信息,表中数据信息
    # 条件查询 select* from 表名 where 条件
    mysql> select* from testinfo;
    +------+------+------+
    | id   | name | age  |
    +------+------+------+
    |    1 | jac  |   15 |
    +------+------+------+
    1 row in set (0.00 sec)
    
    # 向表中增加数据
    # insert into 表名 (字段一,字段二,字段三 ...) values(值1,值2,值3 ...);
    mysql> insert into testinfo (id,name,age) values(01,"jac",15);
    Query OK, 1 row affected (0.06 sec)
    # 或者直接添加值 insert into 表名 values(值1,值2,值3 ...);
    mysql> insert into testinfo values(02,"bbb",55);
    
    # 添加多行数据 insert into 表名 values(值1,值2,值3 ...),(值1,值2,值3 ...);
    mysql> insert into testInfo values(04,"ddd",13),(05,"eee",23);
    Query OK, 2 rows affected (0.30 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    • 更新表中数据
    # update 表的名称 Set 字段 = 值 where 匹配的条件; 例如 id = 2时
    mysql> update testInfo Set name = "bbb" where id = 2;
    Query OK, 0 rows affected (0.07 sec)
    
    • 删除表中数据
    # delete from 表名 where 匹配条件;
    mysql> delete from testInfo where id = 5 or id = 4;
    Query OK, 2 rows affected (0.11 sec)
    

    单表查询

    • 精确查询
    # 只能字段的来查询,只查看相应字段的数据
    mysql> select name,id from studentinfo;
    
    # select 字段 from 表名 where 条件;
    mysql> select name from studentinfo where id >3;
    
    # 通过关键字 and or in between 来查询 等
    
  • 相关阅读:
    pycharm运行html文件报404错误
    css3 鼠标悬浮动画效果
    子代选择器和后代选择器的区别
    前端入门
    爬虫Scrapy框架
    BeautifulSoup
    爬虫之selenium使用
    爬虫之BeautifulSoup
    urllib模块
    爬虫基础
  • 原文地址:https://www.cnblogs.com/TJTO/p/12380234.html
Copyright © 2020-2023  润新知