zoukankan      html  css  js  c++  java
  • 数据库之MySQL基本操作

    数据库之MySQL

    可以把MySQL看成一款支持远程操作文件的软件。

    库 >>> 文件夹

    表 >>> 文件

    记录 >>> 文件内一行行的数据叫做一条条的记录

    表头:就是表格的第一行数据

    字段:字段名+字段类型

    本质:一款基于网络通信的软件

    任何基于网络通信的软件,底层都是socket

    服务端:

    -基于socket通信

    -收发消息

    -SQL语句(是一个公共的标准)

    客户端:

    -基于socket通信

    -收发消息

    -SQL语句

    ps:MySQL不单单支持MySQL的客户端来操作,也支持其他语言直接操作。Python、Java、php语法都不一样,指定标准SQL。

    DBMS:数据库管理系统
    • 关系型数据库:数据与数据之间可以有关联和限制

      MySQL,oracle,sqlite,db2,sql server

      关系型数据库通常都是表结构,意味着使用关系型数据库时,第一步就是确定关系结构。

      字段有特定的类型。

    • 非关系型数据库:通常都是以k/v键值对的形式存储数据。

      redis, mongodb(文档型数据库,非常接近关系型的非关系型数据库),memcache

    MySQL文件结构:

    bin: 执行文件夹

    ​ mysqld 服务端

    ​ mysql 客户端

    docs: 文档

    lib: 库

    data: 数据库所在文件夹

    常用操作
    • mysql中的语句以 ;结尾。

    • sql语句输错的时候输入 c 退出

    • 客户端登录:mysql -h 127.0.0.1 -P 3306 -uroot -p

      可以简写:mysql -uroot -p

      如果不输入用户名和密码也可以进去的话, 默认是访客模式登陆 所能用到的功能很少

    • 客户端退出:exit / quit

    • windows系统下,需要将mysqld服务端制作成系统服务

      mysqld --install

    • 修改密码

      set password=password('your password')

      alter user 'root'@'localhost' identified by 'Quattro!';

    配置文件

    • s 查看mysql服务端简单配置

    • 通常情况下配置文件的后缀都是 ini 结尾

    • mysql自带的配置文件不要修改,但是可以新建一个 my.ini 文件,mysql服务端在启动的时候会自动加载你的 my.ini 配置文件里面的配置。linux系统要创建一个 my.cnf 文件

      1、在mysql文件目录下创建配置文件 my.cnf

      2、修改 my.cnf 文件权限为 777 :sudo chmod 777 my.cnf

      3、填写配置信息

      [mysqld]
      character-set-server=utf8
      collation-server=utf8_general_ci
      
      [client]
      default-character-set=utf8
      
      [mysql]
      user='root'
      password=123
      default-character-set=utf8
      

      4、修改文件权限为 664 :sudo chmod 664 my.cnf 。因为文件权限只有是 664 ,mysql才认为是安全的。

      5、重启mysql服务端

    • 修改完配置文件需要重新启动服务端才能生效。

    • linux下Mysql启动时读取配置文件的顺序为
      1./etc/my.cnf
      2./etc/mysql/my.cnf
      3./usr/local/mysql/etc/my.cnf(自己安装mysql的目录)
      4.~/my.cnf

    数据库的基本操作:

    库:类似于文件夹
    • create database db1;

    • show databases; 查看所有数据库

      show create database db1; 查看单个数据库

    • alter database db1 charset='gbk'; 修改编码

    • drop database db1; 删除

    表:

    在创建表的时候需要先指定库:use 库名

    查看当前所在的库:select database();

    • create table userinfo(id int, name char);

    • show tables; 查看该数据库下所有表

      show create table userinfo; 查看单个表

      desc userinfo; <=> describe userinfo;

    • alter table userinfo modify name char(32);

    • drop table userinfo;

    记录
    • insert into userinfo values(1,2),(3,4)

    • select * from userinfo

      select name from userinfo

      select id, name from userinfo where id=1 or name=tank

    • update userinfo set name='1' where id=1

      update userinfo set name='1', password='2' where id=1

    • delete from userinfo where id=1;

      delete from userinfo;

    设置严格模式
    	set session  临时有效  只在你当前操作的窗口有效
    	set global   全局有效  终生有效
    	set global sql_mode = 'STRICT_TRANS_TABLES';
    	设置完之后 你只需要重新退出客户端再次进入即可
  • 相关阅读:
    RedHat7安装NetCore环境并发布网站
    【WPF学习】第四十二章 透明
    细说枚举
    js获取ip地址,操作系统,浏览器版本等信息,可兼容
    js实现数据流(日志流,报警信息等)滚动展示,并分页(含实现demo)
    js实现点击copy,可兼容
    js实现htmlToWordDemo
    H5 web 存储之 Webstorage
    已发布的WEB项目,如何挂在服务器或者本机的IIS下
    Nuget打包没有注释显示
  • 原文地址:https://www.cnblogs.com/KbMan/p/11371913.html
Copyright © 2011-2022 走看看