zoukankan      html  css  js  c++  java
  • mysql-操作篇

    # ### mysql
    ctrl + l 清屏
    ctrl + c 终止
    [linux]
    service mysql start 启动mysql
    service mysql stop 停止mysql
    service mysql restart 重启mysql

    [windows] 在超级管理员权限下才能使用
    net start mysql 启动mysql
    net stop mysql 停止mysql

    # ### part1
    mysql -u用户名 -p密码 -hip地址

    # (1) 登录到本地mysql 默认root 是最高权限账户
    mysql -uroot -p123456
    localhost => 127.0.0.1 本地IP地址
    # (2) 退出mysql
    exit 或者 q 退出
    # (3) 远程连接mysql 服务器
    mysql -uroot -p -h192.168.80.135

    # ### part2
    # 查询当前登录用户是谁
    select user()
    # 设置密码
    set password = password("123456");
    # 去除密码
    set password = password("");


    # ### part3
    # mysql 创建用户 192.168.80.135
    create user "ceshi01"@"192.168.111.222" identified by "111"; # 给具体某个ip设置账户(一般是公网ip)
    create user "ceshi02"@"192.168.111.%" identified by "222"; # 给具体某个网段下的所有ip设置一个账户
    create user "ceshi03"@"%"; # 所有ip都能登录,不需要密码

    # 通过windows链接linux的mysql ,要通过vnet8 nat模式下的ip创建用户才可使用
    create user "ceshi04"@"192.168.80.1" identified by "333";

    # 查看用户权限
    show grants for "ceshi03"@"%";
    # GRANT USAGE ON *.* TO 'ceshi03'@'%' | USAGE 无任何权限
    grant 权限 on 数据库.表名 to "用户名"%"ip地址" identified by "密码";
    """
    # 权限:
    select 查询数据库的权限
    insert 插入数据库的权限
    update 更新数据库的权限
    delete 删除数据库的权限
    * 代表所有
    G 代表垂直分布查看
    """

    grant select on *.* to "ceshi03"@"%" identified by "222"
    # all 代表所有的权限
    grant all on *.* to "ceshi03"@"%" identified by "222"
    # 查看所有数据库
    show databases
    # 移除权限
    revoke select on *.* from "ceshi03"@"%"
    # 删除账户
    drop user "ceshi03"@"%";
    # 刷新权限
    flush privileges

    # ### part4
    """
    linux
    sudo find / -name db1
    sudo su root 切换到root用户才可以
    cd /var/lib/mysql
    能看到对应的数据库
    """
    # (1) 操作[数据库] (文件夹)

    # 创建数据库
    create database db1 charset utf8;

    # 查看数据库
    show databases
    # 查看数据库的建库语句
    show create database db1

    # alter 更改数据库的字符集
    alter database db1 charset gbk

    # 删除数据库db1
    drop database db1;

    # (2) 操作[数据表] (文件)
    """选择使用哪个数据库创建表 use 数据库名称 """

    # int 整型 char字符
    # 字段名1 类型1 , 字段名2 类型2 ...
    create table t1(id int , name char)

    # 查询所有数据表
    show tables
    # 查看建表语句
    show create table t1;
    """
    CREATE TABLE `t2` (
    `id` int(11) DEFAULT NULL,
    `name` char(1) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    """
    # 查看表结构
    desc t1

    # modify 只能改变数据类型
    alter table t1 modify name char(5)
    # change 连带字段名和数据类型一起改变
    alter table t1 change name NAME char(4)
    alter table t1 change NAME name char(5)
    # add 添加字段
    alter table t1 add age int;
    # drop 删除字段 column 列
    alter table t1 drop column age;
    # rename 更改表名
    alter table t1 rename t1_1;


    # 删除表t1_1
    drop table t1_1

    # (3) 操作记录 (文件内容)
    """mysql null 相当于 python None"""
    增:
    # 一次插入一条数据
    insert into t1(id,name) values(1,"xboy1")
    # 一次插入多条数据
    insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
    # 不指定具体字段,默认把所有字段值插入一遍
    insert into t1 values(5,"xboy5")
    # 可以具体指定某个字段进行插入
    insert into t1(name) values("xboy6")

    查:
    # * 代表所有
    select * from t1;
    select id,name from t1;

    改:
    # update 表名 set 字段=值 where 条件
    update t1 set name = "王文" where id = 1
    # 如果不加条件,所有数据都改了
    update t1 set name = "王文"

    删:
    # 删除id为1的这条数据
    delete from t1 where id = 2
    delete from t1
    # 重置数据表 (包括重置id)
    truncate table t1;

  • 相关阅读:
    string类的方法
    引用
    面向对象之多态性(基类引用可以指向子类)
    SQL Server、Oracle数据库排序空值null问题解决办法(转)
    远程计算机已结束连接解决方法
    GUID自增ID表关联比较
    第四种行转列
    SQL简体转繁体互换(常用汉字词组)
    CSS基本布局16例
    Dojo Javascript 编程规范
  • 原文地址:https://www.cnblogs.com/zyling/p/11938692.html
Copyright © 2011-2022 走看看