命令行SQL语句

数据库的操作

  1. 连接数据库: mysql -uroot -proot;
    1.1. 我的数据库用户名和密码都是root,中间有空格
  2. 数据库的创建: create database [数据库的名] character set [字符集] collate [校对规则];
    2.1. 例如: create database db_test character set utf8 collate utf8_bin
  3. 数据库的删除: drop database 数据库名;
    3.1. 例如:drop database db_test
  4. 修改:alter database 数据库名 character set 字符集;
    4.1. 例如:alter database db_test character set gbk
  5. 查看服务器现有数据库: show databases;
  6. 查看数据库创建过程: show create database [数据库的名字];
  7. 查询当前所使用的数据库: select database();
  8. 切换数据库: use [数据库的名字];

表结构的操作

  • 创建:create table 表名(列名 列的类型 列的约束,列名 列的类型 列的约)
    • 列的类型: char / varchar
    • 列的约束:
      • primary key 主键约束
      • unique : 唯一约束
      • not null 非空约束
    • 自动增长 : auto_increment
  • 删除: drop table 表名
  • 修改:
    • 修改表中的列:alter table 表名[(add, modify, change , drop)修改列]
    • 修改表名: rename table 旧表名 to 新表名
    • 修改表的字符集:alter table 表名 character set 字符集
  • 查询表结构:
    • show tables; 查询出所有的表
    • show create table 表名: 查询表的创建语句, 表的定义
    • desc 表名: 查询表的结构

表中数据的操作

  1. 插入: insert into [表名(列名,列名)] values [(值1,值2)];
  2. 删除: delete from 表名 [where 条件]
  3. 修改: update 表名 set 列名='值' ,列名='值' [where 条件];
  4. 查询: select [distinct] * [列名1,列名2] from 表名 [where 条件]

特殊语句:

  1. as关键字: 别名
  2. where条件后面:
    1. 关系运算符: > >= < <= != <>
    2. –判断某一列是否为空: is null is not null
    3. in 在某范围内
    4. between…and
    5. 逻辑运算符: and or not
    6. 模糊查询: like
    7. _ : 代表单个字符
    8. %: 代表的是多个字符
  3. 分组: group by
  4. 分组之后条件过滤: having
  5. 聚合函数: sum() ,avg() , count() ,max(), min()
  6. 排序: order by (asc 升序, desc 降序)

注意事项:

  1. 命令行执行SQL语句时,连接数据库操作中,mysql -uroot -proot后面不能加分号;