SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,分为3种类型:

  1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

  2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

  3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE(取消授权)
SQL基础操作语句:

管理员登录:mysql -uroot -p
设置管理员密码:set password=password(密码);
查看数据库所有用户:select * from mysql.user;
查看用户权限:show grants for 用户名@网络地址 [identified by 密码]

普通用户登录:mysql -u用户名 -h网络地址 -p
查看当前用户:select user();
查看当前数据库:select database();
当前时间:now()
查看当前数据库是否是严格模式:select @@sql_mode;

#----DCL操作
创建用户:create user 用户名@网络地址 identified by 密码;
用户授权:grant all[SELECT INSERT UPDATE DELETE] on 数据库名.表名 to 用户名@网络地址(%表示所有) identified by 用户密码;
取消授权:revoke all[SELECT INSERT UPDATE DELETE ] on  数据库名.表名 from 用户名@网络地址 [identified by 密码];
修改普通用户密码:set password for 用户名=password(密码);
查看当前用户权限:show grants;



查看数据库:show  databases;
创建数据库:create database 数据库名;
删除数据库:drop database 数据库名;

查看表:show tables;
创建表:create table 表名(字段名 类型(长度),字段名 类型(长度)...);
查看表结构:
    desc 表名;
       show create table 表名;
删除表:drop table 表名;

表格重命名:
     rename table 原表名 to 新表名;
        alter table 表名 rename 新表名;
增加表中的字段:alter table 表名 add 字段 类型(长度)[约束条件] [fisrt/after 字段];
删除表中的字段:alter table 表名 drop 字段;
修改表中的字段:
    alter table 表名 change 原字段   新字段 类型(长度);
    alter table 表名 modify 字段  类型(长度);
修改表中字段的类型:
    alter table 表名 change 原字段   字段 类型(长度) [约束条件] [fisrt/after 字段];
    alter table 表名 modify 字段  类型(长度)        [约束条件] [fisrt/after 字段];


1. 操作文件夹(库)----DDL
   增:create database [db1 charset utf8];   #安装之后配置了my.ini默认就是utf-8,以后可以不写
   查:show databases;
   改:alter database db1 charset latin1;
   删除: drop database db1;


2. 操作文件(表)----DDL
   先切换到文件夹下:use db1
   增:create table t1(id int,name char);
   查:show tables;
   改:alter table t1 modify name char(3);
      alter table t1 change name name1 char(2);
   删:drop table t1;


3. 操作文件中的内容(记录)----DML
   增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
   查:select * from t1;
   改:update t1 set name='sb' where id=2;
   删:delete from t1 where id=1;

   清空表:
       delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
       truncate table t1;数据量大,删除速度比上一条快,且直接从零开始。