53 数据库的基本操作 数据库的安装和基本的mysql语句

Stella981
• 阅读 550

主要内容:

0 .数据库的理解

    数据库服务器 :     运行数据库管理软件(相当于一台计算机)

      数据库管理系统 :  管理数据库(如mysql是一个软件) 

    数据库:                 即文件夹, 用来组织文件/表

    表:                        即文件, 用来存放多行内容/多条记录

    记录:                    多个字段的信息组成一条记录, 即文件中的一行内容

1 . mysql软件 

    服务端软件: 服务端程序 -- 解析指令 -- 对文件的操作;

    客户端软件: 客户端程序 -- 发送指令 -- 解析指令;

2  mysql安装

    安装mysql服务器软件

    启动服务端程序

    客户端连接服务器

    sql语句

      -- 添加环境变量 D:\mysql-5.7.23-winx64\bin;根据你的bin目录决定,用分号隔开

      -- 初始化 mysqld --initialize - insecure

      -- 开启服务端 mysqld

      -- 客户端连接服务端 mysql - uroot - p

3 安装window服务

    以管理员身份运行cmd

    -- 杀死服务端的进程 : tasklist |findstr mysql       tasklill / F / PID

    -- 安装windows服务 (mysql服务端软件安装到windows)

      : mysqld --install

    -- 启动服务

      net start mysql   启动服务

      net stop mysql  关闭服务

4 密码设置 和刷新权限

  设置密码:  update mysql.user set authentication_string =password('') where User='root';

  刷新权限 : flush privileges

5 破解密码

  -- 先把原先的服务关闭, 以管理员的身份运行: mysqld --skip-grant-tables

  -- 客户端此时连接服务端的时候不需要写密码直接进去, 此时修改密码, 之后一定要刷新权限;

6 创建用户 对当前用户授权 (root用户拥有)

  创建用户:

    指定ip : 192.168.1.1 的mjj的用户登录:  create user 'mjj'@'192.168.2.134' identified by '123';

    指定ip : 192.开头 的mjj的用户登录:       create user 'mjj'@'192.%.%.%' identified by '123';

    指定ip : 指定任何的ip用户登录:             create user 'mjj'@'%' identified by '123';

  对当前用户授权:

    授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
        grant select on db1.t1 to "mjj"@'%';

    表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作

        grant all privileges on db1.t1 to "mjj"@'%';

    mjj用户对db1数据库中的文件执行任何操作

        grant all privileges on db1.* to "mjj"@'%';

    mjj用户对所有数据库中文件有任何操作

        grant all privileges on *.* to "mjj"@'%';  

  取消授权:revoke select  on db1.s1 from "mjj"@'%';  

7 统一字符编码

  把修改好my.ini文件放入数据库里,和bin目录同级, 然后重新开启服务.

  对于my.ini文件的路径改为你放入地方的路径;

8 sql 语句

     show databases;        查看所有的数据库

  create database db1;  创建数据库db1

  use db1;                       进入数据库

  1 )操作文件夹 (库)

    增: create datebase db1;

    查: show create database db1;

    改: alter database db1 charset gbk;

    删: drop database db1;

  2 ) 操作文件(表)

    首先进入到文件 : use db1;

    增 : create table t1(id int , name char(10));

    查 : show create table t1;  查看所有的表: show tables  查看表的详细信息: desc t1;

    改 : alter  table t1 modify name char(7)                         modify修改的意思.

      alter table t1 change name NAME char(7)     改变name为大写的name

    删 : drop table t1;

  3 ) 操作文件内容(记录)

    增 : insert into t1(id,name) values(1,'lili'),(2,'dd');

    查 : select * from db1.t1;     查看所有  

      select id from db1.t1     单查看id

    改 : update db1.t1 set name= 'uu'          改了所有的名字

      update db1.t1 set name = 'tt' where id = 2   改了id等于2的名字 

    删 : delete from t1;              删除表里的内容

      delete from t1 where id = 2   删除id等于2一行的内容

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这