zoukankan      html  css  js  c++  java
  • mysql数据库基本操作sql语言

    mysql的启动与关闭

    启动

    /etc/init.d/mysql start

    多实例使用自建脚本启动

    2种关闭数据库方法

    mysqladmin -uroot -p密码 shutdown #优雅关闭
    /etc/init.d/mysqld stop
        

    登录mysq

    命令mysql  常用参数 mysql -u -p -P -h -S     

    #-u指定登录用户 -p用户密码 -P指定端口号 -h远程连接mysql的IP -s多实例登录时指定mysql的sock文件 -e在外部执行sql命令

     mysql -uroot -p123456 -P 3306 -h 192.168.1.1 -S /data/3306/mysql.sock 

    本地mysql登录只用-u -p 多实例加-S  非远程不用-P-h

    mysql设置密码

    新建无密码用户设置密码

    mysqladmin -uroot password 密码

    修改密码

    mysqladmin -uroot -p原密码 password 新密码            #多实例指sockt

    在mysql数据库内修改密码

    mysql> use mysql;    #进入mysql库
    mysql> update user set password=password("123456") where user='root';  
    #更改原user表内的root行的password里的数据改为123456 前边加password用于数据加密 mysql
    > flush privileges;    #刷新

    mysql的基本操作

    show 查看 use进入  describe显示数据表的结构  

    show status;        #查看mysql状态
    show databases;      #查看库所有库  
    show databases like '库名'; #查看库内的表 show tables;        #查看表 需要先'use 库名'进入该库才能查看 show grants;        #查看授权用户权限
    show grants for 'root'@'localhost';      #查看指定用户权限
    use 库名            #进入一个库相当于linux的cd命令
    status;            #显示当前数据库状态
    flush privileges;      #刷新权限

    Mysql~sql语言

    1.数据查询语言DQL    select   #查看

    2.数据操作语言DML insert update和delete  #插入 更新和删除开发常用

    3.事务处理语言TPL  begintransaction commit和rollback  #不用

    4.数据控制语言DCL    grant revoke  #设置用户权限和删除用户权限      运维必备

    5.数据定义语言DDL    create drop    #创建和删除             运维必备

    6.指针控制语言CCL             #不用

    表格例子:

    名字  年龄  工作  工资  编号

    秦穆公  50     秦王        5000         1

    晋文公    40        晋王        6000         2

    齐桓公    60        齐王        7000         3

    1.create建库建表

    建库格式:create databa 数据库名;

    mysql> create database 春秋五霸;      #建库 如果编译没指定字符集 默认为拉丁文 可在建库时指定字符集

    建表格式:create table  表名;

    use 春秋五霸      #进入春秋五霸库
    create table 春秋五霸(名字 char(20) not null,年龄 char(20) default "",工作 char(20) not null,工资 int(20) not null,编号 int not null,primary key(编号));
    #在春秋五霸库中建一个叫春秋五霸的表 表内记录了名字,年龄,工作,工资,编号
    not null 表示对应表内内容不能为空 ,default默认,如果不给于值按默认写 primary key(编号)索引关键字 为编号 char 字符类型 int数字型
    参考http://www.runoob.com/mysql/mysql-data-types.html

     2.drop删库删表

    格式 drop table 数据库.表名;

      drop database 数据库名;

    drop table 春秋五霸.春秋五霸;  #删除春秋五霸库中的春秋五霸表 如果use到了春秋五霸库则可以直接drop table 春秋五霸;删除春秋五霸表
    drop database 春秋五霸;      #删除春秋五霸库

    3.insert 插入新数据

    格式: insert into 表名(字段1,字段2,.........) values('字段值1','字段值2'......);

    insert into 春秋五霸(名字,年龄,工作,工资,编号)values('秦穆公','50','秦王','5000','1');
    insert into 春秋五霸(名字,年龄,工作,工资,编号)values('晋文公','40','晋王','6000','2');
    insert into 春秋五霸(名字,年龄,工作,工资,编号)values('齐桓公','60','齐王','7000','3');
    insert into 春秋五霸 values('越王','70','越王','8000','4'); #如果需要按格式正行插入可以不写字段 直接values写字段值

    4.update更改原有数据

    update 表名 set 字段名1='新值1',字段名2='新值2' where 条件表达式;

    update 春秋五霸 set 名字='越王',年龄='70',工作='越王',工资='8000' where 编号=4;  
    #更新春秋五霸表内和穆公数据 通过where 匹配编号4匹配到和穆公       where支持 and or                      

     5.delete删除不需要的数据

    delete from 表名 where 条件表达式;

    delete from 春秋五霸 where 编号=6;    #删除上图编号6的穆公内容

    模糊删除:

    delete fromwhere 名字 like '%公';   #删除以公字结尾的

    6.select查询语句

    格式:select 字段名1,字段名2,..... from 表名 where 条件表达式;

    字段名1 看什么内容,from从哪个表看  where匹配橫行内容

    select * from 春秋五霸;                    #看春秋五霸所有内容
    select 名字 from 春秋五霸;                  #只看春秋五霸所有名字
    select * from 春秋五霸 where 名字='晋文公';         #只看晋文公的资料
    select 名字 from 春秋五霸 where 名字='晋文公';        #只看晋文公的名字
    select * from 春秋五霸 where 名字 like '%王%';       #模糊查找 如果只记得名字里带个王字 可以(where 名字 like '%王%')通过正则匹配查找      
     

     

     7.grand用户权限设置

    语法:grant 权限 on 库.表 to '用户名'@'允许主机'  identified by '密码';      #如果用户不存在直接创建用户

    用户不存在=create user 'xixi'@'localhost' identified by '123456';#创建用户+grant all on *.* to  'hehe'@'localhost';#给与权限

    例: 

    grant all on *.* to 'hehe'@'localhost' identified by '123456';  #创建本地mysql用户hehe 给与权限all(所有)密码为:123456
    grant all on *.* to 'hehe'@'192.168.1.%'  identified by '123456'   #创建用户hehe  允许192.168.1.0网段连接
    #@后可以跟网段 IP localhost 和域名  
    
    

    8.revoke撤销用户权限

    语法:revoke 撤销的权限 on 库.表 from '用户'@'允许主机'

    revoke drop on *.* from 'hehe'@'localhost';      #撤销呵呵用户 对所有库所有表的drop权限  只能revoke掉grant给与过的权限

    9.mysql通配符 

    -任意单个长度字符

    %任意长度任意字符

    10.select扩展

    select user();       #当前登录mysql的用户
    select now();     #显示当前时间
    select user(),now(); #显示当前用户和时间
    select database();  #显示当前所在的库
  • 相关阅读:
    php-7.0.16 , apache2.4.25 配置
    一次完整的HTTP请求需要的7个步骤
    TypeScript 配置
    React Please wrap your <Route> in a <Routes>
    Typescript node 里使用 multer插件, req 没有 file这个属性
    node 操作mongodb 用 find() 第一个参数无效
    手机请求不到本地服务器 [Error: Network Error]
    模块 ""mongoose"" 没有默认导出。你是想改为使用 "import { Mongoose } from "mongoose"" 吗?
    小程序 自定义 tabBar Component “页面路径“ does not have a method “ 方法名“ to handle event “tap“
    react-native 初始化项目失败
  • 原文地址:https://www.cnblogs.com/ywrj/p/9398702.html
Copyright © 2011-2022 走看看