zoukankan      html  css  js  c++  java
  • MySQL基础操作增,删,改,查。

    一,SQL语言概述
    1,SQL语言是关系型数据库的标准语言,用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能。

    2,建表

    这是需要掌握的。
    (1)#Show databases; 查看数据库里所有的小数据库名。 show看 databases 数据库小库

    (2)#Create database yunjisuan; 创建一个叫yunjisuan的库 create创建

    (3)#drop database yujisuan; 删除一个叫yunjisuan的库 drop
    (4)我现在想看小数据库里的yunjisuan的表呢?
    #use yunjisuan; 我先把对象设定成yunjisuan这个小库 use使用
    #show tables; tables表

    (5)如何建表呢?
    首先先选个对象, 建立表头
    #use yunjisuan;
    显示:Database changed改变

    # create table uses (user_name char(20) not null, user_passwd char(30) default '',primary key(user_name)); 在yunjisuan这个小数据库中,创建一个叫uses的表,里边有两个字段姓名和密码,添加内容时,就可以添加姓名和密码了
    tables(多个表) table(单个表)

    (1)user_name char(20) not null
    user_name 字段名
    char字节 一个字母代表一个字节,这个字段里边最多不能超过20字节。
    not null不能为空。
    这个逗号前的意思是 第一个是字段名 第二个是字节数。第三个是它能不能为空。

    (2)user_passwd char(30) default ''
    第二段意思是给user设置密码为空
    default 默认

    (3)primary key(user_name)
    primary 主要的
    key  主键
    这段意思是 指定一个主键 user_name

    (6)继续查看这个yunjisuan这个小库的表,刚才创建的表user就出来了
    #show tables;

    (7)如何查看这个表的字段呢? (只是看表头不是看数据)
    #describe uses;

    二,四种对表数据进行操作的SQL语句。
    增,删,改,查

    增:insrrt  into  表名[字段名] values   具体数值

    删; delete  from  表名 where

    改: update  表名 set 字段='数值'

    查:select  字段名 from  表名


    三,本地账户在MySQL的关系。
    小库其实就是data目录下的子目录。
    开发管小库叫做空间
    小库的名字叫做空间名
    小库里的表,叫做空间名,表名。
    1,本地账户在mysql的user这个表里边
    mysql> select user,host,password from mysql.user; 查看user这个表。里边password 是加密的,我现在想把这个密码给改了
    mysql> update mysql.user set password='666666' where host='localhost'; 这就给改了。
    再用刷新下,刷新很重要。
    mysql> flush privileges;
    之后登陆MySQL, 用新设置的密码。但是还是登录不上去,这时就得需要个加密函数。
    mysql> update mysql.user set password=password('666666') where host='localhost';之后刷新,在登录就没问题了。
    password=password('666666')这个意思是666666的密码需要passwor这个函数加密,在赋值给前一个password.


    四,MySQL权限。
    1,用户权限设置 grand (用户不存在,则新建用户)
    #netstat -antup | grep 3306 查看MySQL端口。
    mysql> grant all on *.* to 'root'@192.168.29.149' IDENTIFIED BY '123456'; 这句话是如何创建账号
    all: 这个指的是所有的权限赋予所有权限,增删改查 如all换成select那就是只有读权限。
    on: 如果没有all 只有这个on代表只有读权限
    *.*: 这个意思是 库.表 代表所有的库和所有的表。
    to: 对那个账号 把前边的内容权限赋给后边这个账号,
    'root'@192.168.29.149' 创建的是这个账号。用户名@登录IP
    IDENTIFIED BY密码
    2,现在进行远程连接。
    先需要在启一台虚拟机,在这台虚拟机上yum安装 mysql, 这就是MySQL客户端。
    之后创建个账户: 注意这个IP是我服务端的IP。创建的是谁的IP就只能用谁来登录。
    mysql> grant all on *.* to 'yunjisuan'@'192.168.29.149' identified by '123123'; 这个创建好,那我就只能用192.168.29.149这个IP的虚拟机来登录。
    在查看下本地所有的账户。 (账户下边是库)
    mysql> select user,host from mysql.user;
    之后刷新:
    mysql> flush privileges;之后使用本机就可以登录,但是后边必须加IP号#mysql -uyunjisuan -p123123 -h 192.168.29.149; 这就叫在本机上以远程的方式登录本机。如果ip是127.0.0.1这就是本地登录只能用本机登录本机这个127.0.0.1的账户。


    五,命令解释:


    (1)启动MySQL数据库
    #cd
    #/etc/init.d/mysqld start 启动脚本
    SUCCESS! 成功
    #netstat -anpt | grep :3306 查看下端口
    启动完毕


    (2)登录MySQL数据库
    #which mysql 用mysql命令直接登录或mysql -uroot -p
    如果是mysql -h 是指定主机(IP地址)
    mysql -p 是指定密码 没写就是没密码
    mysql -P 是端口,不写默认就是3306
    mysql -u 是指定用户,不写就是默认登录本地 如:#mysql -uroot -p 指定用户是root
    ctrl+D 是退出MySQL数据库。


    (3)设置MySQL数据库的登录密码
    有个命令:
    #whcih mysqladmin  MySQL设置密码命令
    #mysqladmin -uroot password '123123' 针对root用户设置密码 123123
    %: 任意长度的任意字符
    _  :任意单个字符。



    Show databases; 查看所有数据库
    Create database yunjisuan; 创建一个叫yunjisuan的库
    drop database yujisuan; 删除一个叫yunjisuan的库
    use yunjisuan; 我先把对象设定成yunjisuan这个小库 use使用
    #show tables; tables表 show看
    #describe uses; describe(低斯葛ruai波)描述, uses表名,查看表里的表结构。
    #select * from uses; 查看星号就是所有字段的表,表名是user
    #insrrt into uses values ('xiaohong','66666') 增加表名是uses的表的内容,里边有两个字段,姓名和密码,
    #insrrt into uses (user_name)values ('baibai') 这回我给指定了一个字段, 有几个字段就写几个对应的值。我指定了一个,就写入一个的值。
    #update uses set user_passwd='99999' where user_name='baibai'; 我想改uses这个表的user_passwd字段为99999,我指定的是user_name这个主键字段的baibai这行。
    #delete from uses; 这是把uses表里的内容都清空。
    #delete from uses where user_name='baibai'; 这是把uses表里指定的user_name字段的baiabi删除。因为user_name字段是主键,所以这一行包括user_passwd 字段也删除了。
    #select * from yunjisuan.uses; 查看星号就是所有字段的表,yunjisuan这个库下边的uses表,这样查看也可以,省的use yunjisuan选对象了
    #select user,host from mysql.user; 查看user,host这个字段内容,这个字段在musql库里的user表中。 这也是查看我虚拟机用户信息。
    #insert into yunjisuan.uses values ('xiaohong','11111'); 这是增加,就是没有use 选对象而直接跨过库来插入,跨过yunjisuan这个库,进入到它的表uses中,插入两个字段内容。
    #update yunjisuan.uses set user_passwd='333333' where user_name='baibai'; 更改内容跨过yunjisuan库,更改它的表uses的user_passwd这个字段的内容。但是指定的是user_name这个字段下的baibai这一行要不指定这一行,表里user_passwd字段的内容都会更改。
    mysql> flush privileges;  刷新立即生效的意思,这样insrrt添加的内容就会写到硬盘里。
    mysql> select user(); 查看我当前所处的账号。
    mysql> show grants; 查看当前登录用户权限。
    mysql> show grants for 'yunjisuan'@'192.168.29.149'; 这是查看yunjisuan这个账户的权限。查看别人的用户权限
    mysql>revoke select on mysql.user from 'yunjisuan'@'192.168.29.149'; 这是删除权限,删除select读权限。

  • 相关阅读:
    枚举
    张三先唱一遍要表演的歌曲,老师觉得张三唱歌不过关,
    不断要求用户输入一个数字(假定用户输入的都是正整数
    不断要求用户输入学生姓名,输入q结束.
    要求用户输入用户名和密码,只要不是admin、888888就
    计算1到100的整数和
    c# 九九乘法表
    c#三角形
    C#循环判断密码
    什么是发动机号,发动机号码是什么?
  • 原文地址:https://www.cnblogs.com/changtianwei/p/10007404.html
Copyright © 2011-2022 走看看