1. 操作数据库:CRUD

1.1 C(Create):创建

  1. # 创建数据库:
  2. * create database 数据库名称;
  3. # 创建数据库,判断不存在,再创建:
  4. * create database if not exists 数据库名称;
  5. # 创建数据库,并指定字符集
  6. * create database 数据库名称 character set 字符集名;
  7. # 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk
  8. * create database if not exists db4 character set gbk;

1.2 R(Retrieve):查询

  1. # 查询所有数据库的名称:
  2. * show databases;
  3. # 查询某个数据库的字符集:查询某个数据库的创建语句
  4. * show create database 数据库名称;

1.3 U(Update):修改

  1. # 修改数据库的字符集
  2. * alter database 数据库名称 character set 字符集名称;

1.4 D(Delete):删除

  1. # 删除数据库
  2. * drop database 数据库名称;
  3. # 判断数据库存在,存在再删除
  4. * drop database if exists 数据库名称;

1.5 使用数据库

  1. # 查询当前正在使用的数据库名称
  2. * select database();
  3. # 使用数据库
  4. * use 数据库名称;

2. 操作表

2.1 C(Create):创建

  1. 语法:

    1. create table 表名(
    2. 列名1 数据类型1,
    3. 列名2 数据类型2,
    4. ....
    5. 列名n 数据类型n
    6. );

    注意:最后一列,不需要加逗号(,)

  2. 数据库类型:

  • int:整数类型
    • age int,
  • double:小数类型
    • score double(5,2)
  • date:日期,只包含年月日,yyyy-MM-dd
  • datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
  • timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
    • 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
  • varchar:字符串
    • name varchar(20):姓名最大20个字符
    • zhangsan 8个字符 张三 2个字符
  1. 创建表

    1. create table student(
    2. id int,
    3. name varchar(32),
    4. age int ,
    5. score double(4,1),
    6. birthday date,
    7. insert_time timestamp
    8. );
  2. 复制表:

    1. create table 表名 like 被复制的表名;

2.2 R(Retrieve):查询

  1. 查询某个数据库中所有的表名称
  • show tables;
  1. 查询表结构
  • desc 表名;

    2.3 U(Update):修改

  1. 修改表名
  • alter table 表名 rename to 新的表名;
  1. 修改表的字符集
  • alter table 表名 character set 字符集名称;
  1. 添加一列
  • alter table 表名 add 列名 数据类型;
  1. 修改列名称 类型
  • alter table 表名 change 列名 新列别 新数据类型;
  • alter table 表名 modify 列名 新数据类型;
  1. 删除列
  • alter table 表名 drop 列名;

    2.4 D(Delete):删除

  1. drop table 表名;
  2. drop table if exists 表名 ;
  • 客户端图形化工具:SQLYog