3.DDL组件

2023-04-15  本文已影响0人  LucXion

DDL组件的作用就是创建数据库、数据表,是数据库稳定的基础。

创建数据库
CREATE DATABASE nba; // 创建一个名为nba的数据库
DROP DATABASE nba; // 删除一个名为nba的数据库
创建数据表
// 创建一个表名为 player 的表,player_id为主键自增长从1开始,name长度限制为 6,但是在SQLite中这样的限制不生效
"CREATE TABLE table_name ( player_id  INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT(6));" 
// 删除表
"DROP TABLE table_name;"
// 通过ALTER更改表结构:插入列
"ALTER TABLE table_name ADD COLUMN age INTEGER;"
//  通过ALTER更改表名
"ALTER TABLE table_name RENAME TO new_table_name;"
定义数据表时的约束条件:
DROP TABLE IF EXISTS `player`;
CREATE TABLE `player`  (
  `player_id` int(11) NOT NULL AUTO_INCREMENT,
  `team_id` int(11) NOT NULL,
  `player_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `height` float(3, 2) NULL DEFAULT 0.00,
  PRIMARY KEY (`player_id`) USING BTREE,
  UNIQUE INDEX `player_name`(`player_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  1. NOT NULL
  2. CHARACTER SET utf8 : 字符编码UTF8
  3. COLLATE utf8_general_ci :大小写不敏感,对应的utf8_bin
  4. DEFAULT 0.00 : 设置默认值
  5. UNIQUE INDEX player_name(player_name) USING BTREE : 唯一索引 索引名player_name , 对应字段player_name,索引方式 平衡树(还可选HASH),
  6. 存储引擎:
    ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  7. CHECK(height>=0 AND height<3)
player_name -> varchar(255) -> CHARACTER SET utf8 -> COLLATE utf8_general_ci -> NOT NULL -> DEFAULT 'Luc',

更多SQLite的sql语句参考 菜鸟教程
补充:

  1. 索引用于提升数据的检索效率,唯一索引比普通索引多了个唯一性的约束
  2. 主键,标识数据行的唯一标识
  3. 外键,保证表与表之间的完整性,比如表2可以将外键设置为 上面表player的player_id。

设计原则(三少一多):
少 :表个数、字段个数、联合主键个数 越少越好
多 :主键、外键 越多越好

具体操作:
下载 Navicat Premium , 去下载测试sql文件,然后打开Navicat,将下载好的文件打开

上一篇 下一篇

猜你喜欢

热点阅读