zoukankan      html  css  js  c++  java
  • [mysql]数据库基础知识

    数据库管理系统DBMS

      软件

        bin

        config

        db (保存数据)

    写程序:

      数据库在本地

        找到目录

        添加数据

      数据库在远程

        socket连接上远程机器

        socket发送命令

        需要做的事情

          程序

            socket客户端

          数据

            socket服务端

          规则

            add |内容

            delete | 内容

            ........

          socket服务端和客户端用户认证,授权,限制

     远程连接数据库要做的这些事情被一些人整合成一个软件,这些软件就是数据库软件,例如:

      oracle,mysql,sqlerver,sqlite,access......

    下载安装

      1.下载

      2.解压

      3.运行服务器端

      4.客户端连接

    #将mysql服务器端制作成一个 windows服务

      net start mysql

      net stop mysql

      ===, 打开服务管理

    ×××××××××××正题××××××××××××××××××××××××××××××××××××××××

        ××××××××××××mysql×××××××××××××

    1.概念

      数据库  >> 文件夹

      数据库表  >>  文件夹里的文本文件

      数据行   >> 文件中的一行数据

    2.启动服务器

      net start mysql

      或者

        /etc/init.d/mysql start

      客户端连接

        mysql -u root -p

    3.  基础操作命令

      show databases;  # 查看当前mysql都有哪些数据,根目录里有哪些文件夹

      create database 数据库名;   #创建文件夹

      use  数据库名;   #使用选中的数据库,进入数据库目录

      show tables;    #查看当前数据库下都有哪些表

      create table  表名 (nid int,name varchar(22),pwd varchar(64));    #创建数据库表

      select × from 表名;  # 查看表中的所有数据

      insert into 表名(nid,name,pwd) values(1,'zhangw','1234'); # 插入数据

    4.用户授权

      用户管理特殊命令:

        创建用户

          create user '用户名'@' ip地址' identfied by '密码';

        删除用户

          drop user '用户名'@'IP地址';

          修改用户

          rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

        修改密码

          set user '用户名'@'ip地址' = Password('新密码')

      权限

        默认,没有任何权限

        grant  权限 on 数据库.表 to '用户'@'ip地址'  ---授权

        

    5.远程连接

      不再重复操作,直接发送命令给服务器

      远程操作的内容:数据库,表,行

      开户和授权

        密码,必须用

        其他,推荐用

      客户端连接

        mysql -u root -h 192.168.1.1 -p  #-h   指定主机

        

    6.SQL语句

      数据库

        show databases;

        create database     数据库名称 ;

        create database  数据库名称 default charset utf8 collate utf8_general_ci;

        use 数据库名称;

        drop database 数据库名称;

      表

        show tables;

        desc tb1;

        create table tb1(nid int,name varchar(10));

        #  主键

          不能为null,

          不能重复,

           一张表只有一个主键(可以多列组成主键)

        #用法

          nid int auto_increment primary key

        #  创建tb5, nid做主键,name 变长16,age 默认19,选用innode引擎,默认编码utf8

        create table tb5

        (  

          nid int not null auto_inctement primary key,

          name varchar(16),

          age int default 19

          )engine = innodb default charset=utf8;

        # 外键foreign key

    7.字符串

      定长 char(22)

        查找速度快,浪费空间

      变长 varchar(22)

        查找速度慢,节省空间

    8.二进制数据

      TinyBlob,Blob,MediumBlob,LongBlob

        上传文件

        Blob, 强制二进制方式

        varchar(65)

    9. 时间

      DATE

        YYYY-MM-DD(1000-01-01/9999-12-31)

      TIME

        HH:MM:SS('-838:59:59'/'838:59:59')

      YEAR

        YYYY(1901/2155)

      DATETIME

        YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59    Y)

      TIMESTAMP

        YYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

      

    10.连表操作

      select * form a,b where a.x = b.o

      

      join

        left join

          select * from a LEFT OUTER JOIN b ON a.x = b.o

        inner join

          select * from a inner JOIN b ON a.x = b.o

      

    人生短短数十载,经不起几次重头再来
  • 相关阅读:
    viewpager中彻底性动态添加、删除Fragment
    Android仿微信界面--使用Fragment实现(慕课网笔记)
    Android progressBar 自定义
    Android 使用PopupWindow实现弹出菜单
    android手机上安装apk时出现解析包错误的一个解决办法
    设计模式 单例模式
    android 自定义AlertDialog
    android listview异步加载图片
    又优化了一下 Android ListView 异步加载图片
    Hadoop概念学习系列之谈谈RPC(三十三)
  • 原文地址:https://www.cnblogs.com/bk770466199/p/5980982.html
Copyright © 2011-2022 走看看