目录与学习目标

  1. 1:操作databaseSQL
  2. 2:操作表结构的SQL(重要)
  3. 1:修改表结构(注意会锁表)
  4. 2:查看表结构
  5. 3:创建数据库下的表
  6. 4:查看某个数据库下的表
  7. 3:建表列属性说明

1:操作database的SQL

  1. 1:查看当前mysql数据库管理软件中的所有数据库
  2. show databasename;
  3. 2:查看建库语句
  4. SHOW CREATE DATABASE databasename;
  5. 3:创建数据库
  6. CREATE DATABASE databasename CHARSET utf8mb4 COLLATE utf8mb4_bin;
  7. 4:删除数据库
  8. DROP DATABASE databasename;
  9. 5:修改数据库字符集
  10. ALTER DATABASE databasename CHARSET utf8mb4;

2:操作表结构的SQL(重要)

1:修改表结构(注意会锁表)

  1. 1:修改表名称
  2. rename table 旧表名 to 新表名;
  3. alter table 旧表名 rename 新表名;
  4. rename table t_stu to student;
  5. alter table student rename t_stu;

  1. 2:修改表结构
  2. alter table 表名称 add column 字段名 数据类型; #默认添加到最后
  3. alter table 表名称 add column 字段名 数据类型 first; #添加到第一列的位置
  4. alter table 表名称 add column 字段名 数据类型 after 另一个字段; #添加到另一个字段的后面
  5. alter table t_stu add tel char(11);
  6. alter table t_stu add address varchar(50) first;
  7. alter table t_stu add age int after sname;

  1. 3:修改字段的数据类型或位置
  2. alter table 表名称 modify column 字段名 新的数据类型; #修改数据类型
  3. alter table 表名称 modify column 字段名 数据类型 first; #将指定字段移动到第一列
  4. alter table 表名称 modify column 字段名 数据类型 after 另一个字段; #移动指定字段到另一个字段的后面
  5. alter table t_stu modify tel char(11);
  6. alter table t_stu add address varchar(50) first;
  7. alter table t_stu modify age int after sname;

  1. 4:修改列的名称
  2. alter table 表名称 change column 旧字段名 新的字段名 数据类型;
  3. alter table t_stu change tel phone char(11);

  1. 5:删除一列
  2. alter table 表名称 drop column 字段名;
  3. alter table t_stu drop address;

2:查看表结构

  1. desc 表名称;

3:创建数据库下的表

  1. 创建某个表,如果前面有use语句,那么【数据库名.】可以省略
  2. create table 【数据库名.】表名称(字段名1 数据类型,字段名2 数据类型,字段名3 数据类型);
  1. DROP TABLE IF EXISTS `actor`;
  2. CREATE TABLE `actor` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `name` varchar(45) DEFAULT NULL,
  5. `update_time` datetime(0) NULL DEFAULT NULL,
  6. PRIMARY KEY (`id`) USING BTREE
  7. ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
执行后的表结构

image.png

DROP TABLE IF EXISTS `actorother`;
CREATE TABLE `actorother`  (
  `id` int(11) NOT NULL  AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  `update_time` datetime(0) NULL DEFAULT NULL,
 PRIMARY KEY (`id`) USING BTREE
) CHARSET=utf8;
执行后的表结构

image.png


ENGINE=InnoDB :MySQL数据库存储引擎的设置,如果不写也是可以的会去取默认的数据引擎
AUTO_INCREMENT=10 : 如果不写则默认自增从1开始,否则从设置的值开始
CHARSET=utf8 :作用于该表的字符编码  如果不写则为CHARSET=latin1 (ISO-8859-1编码格式)

4:查看某个数据库下的表

   方式一:
       需要先use 数据库名
       show tables;

   方法二:
    show tables from 数据名;

3:建表列属性说明

列属性 说明
PRIMARY KEY 主键约束,表中只能有一个,非空且唯一.
NOT NULL 非空约束,不允许空值
UNIQUE KEY 唯一键约束,不允许重复值
DEFAULT 默认约束,一般配合 NOT NULL 一起使用.
UNSIGNED 无符号,一般是配合数字列,非负数
AUTO_INCREMENT 自增长的列
COMMENT 注释