MySQL 基础操作之增删改查

        由于不是专业的DBA,对数据库平时操作比较少,一些数据库操作命令老是忘记,所以就写几篇笔记。因为对数据库不是很精,写错的地方希望大家评论指出。

一、对库的操作

1.  创建数据库, character set 指定字符集,cllate 指定校对规则

      create  database   database_name character set utf8 collate utf8_bin ; 

2.  修改数据库字符集

        alter   database   database_name  character set  binary ;

3.  进入某个库

        use   database_name ;

4.  查看当前所在数据库

        select database() ;

5.  查看数据库创建过程

        show create database  database_name ;

6.  查看所有库

        show databases;

二、对表结构的操作

1. 查看当前库下所有表

        show tables ;

2. 创建表(create)

        create table  table_name (列名  类型(长度) (约束),列名 类型 …… )

3. 查看表的创建过程

        show create table table_name;

4. 查看表结构(desc)

        desc  table_name ;

5. 修改表名(rename)

        rename table  old_table_name   new_table_name ;

6. 修改表字符集(alter)

        alter table table_name  character  set  新字符集 ;

7. 删除表(drop)

        drop  table  table_name;

三、对表中列的操作

1. 给表添加新的列

        alter  table  table_name add  列名  类型

2. 修改表中某一列的类型(modify)

        alter table table_name  modify  列名 新的类型

3. 修改表中某一列的列名(change)

        alter table table_name change 旧列名  新列名 列的类型

4. 删除表中的某一列(drop)

        alter table table_name drop 列名

MySQL 基础操作之增删改查_第1张图片

四、对表中数据的操作(增、删、改、查)

1. 新增数据(inster)

        inster  into  table_name(列名1,列名2……)  values(值1,值2……)

        注意:如果是插入全列名的数据,表名后面的列名可以省略。如果只是插入部分列名的数据,则必须制定列名。

2. 删除表数据(delete)

        delete  from  table_name   [where  条件]

        注意:如果不加匹配条件,则表中所有数据都会被删除。

3. 修改表数据(update)

        update  table_name  set  列名1=新的值,列名2=新的值;

        例如:修改用户密码        UPDATE user SET authentication_string = PASSWORD('123') WHERE user = 'test';

        注意:如果参数是字符串,日期要加上单引号。如果不加条件,会修改表中全部数据

4.简单的查询数据

        全量查询:

        select *  from  table_name ;

        只查个别列的信息

        select 列1,列2……  from  table_name ;

MySQL 基础操作之增删改查_第2张图片

五、用户授权(grant)

语句格式:

        grant  select,create,drop  on  database_name.table_name  to  user_name@'允许IP'  identified  by ‘password’ ;

        权限:有select,create,drop 等,all 则表示所有权限

        on:表示这些权限对哪个库哪个表生效。如果用 * 则表示全部,test.* 就表示对test库下所有表有权限。

        to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。

        identified by:指定用户的登录密码。

        with grant option:表示允许用户将自己的权限授权给其它用户。(感觉不常用)

注意:GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限。

你可能感兴趣的:(MySQL,运维,mysql)