当前位置: 首页 > news >正文

b to b网站建设模式镇江百度关键词优化

b to b网站建设模式,镇江百度关键词优化,企业网络安全解决方案,做网站可以申请专利吗1000.04.CS.DB-Database-Relational-MySQL-3.3.创建和管理表-Created: 2023-03-08.Thursday17:39 1. 创建和管理表 在 MySQL 中,创建和管理表是数据库操作的基础。以下是创建和管理表的主要步骤和方法。 1.1 定义表结构 定义表结构包括指定表的名称、列的名称和数…

1000.04.CS.DB-Database-Relational-MySQL-3.3.创建和管理表-Created: 2023-03-08.Thursday17:39

1. 创建和管理表

在 MySQL 中,创建和管理表是数据库操作的基础。以下是创建和管理表的主要步骤和方法。

1.1 定义表结构

定义表结构包括指定表的名称、列的名称和数据类型、主键和外键等。

示例:

CREATE TABLE example_table (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,description VARCHAR(100)
);

1.2 设置主键和外键

主键用于唯一标识表中的每一行记录,外键用于建立表之间的关系。

设置主键:

CREATE TABLE example_table (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL
);

设置外键:

CREATE TABLE orders (order_id INT PRIMARY KEY AUTO_INCREMENT,customer_id INT,FOREIGN KEY (customer_id) REFERENCES customers(id)
);

1.3 处理 NULL 值

在数据库设计和操作中,正确处理 NULL 值对于数据完整性和应用程序逻辑非常重要。

1.3.1 定义列时设置 NULLNOT NULL

在创建表时,可以指定列是否允许 NULL 值:

CREATE TABLE example_table (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,description VARCHAR(100) NULL
);
1.3.2 插入数据时处理 NULL

在插入数据时,未指定值的列会默认设置为 NULL(如果允许 NULL):

INSERT INTO example_table (name) VALUES ('Item 1');
-- description 列将被设置为 NULLmysql> SELECT * FROM example_table;
+----+--------+-------------+
| id | name   | description |
+----+--------+-------------+
|  1 | Item 1 | NULL        |
|  2 | Item 2 | NULL        |
+----+--------+-------------+
2 rows in set (0.02 sec)
1.3.3 ERROR 1138 (22004): Invalid use of NULL value : 更新数据中的 NULL

当尝试修改列定义为 NOT NULL 时,如果表中存在 NULL 值,MySQL 会抛出 ERROR 1138 (22004): Invalid use of NULL value 错误。为了避免此错误,需要先将所有 NULL 值更新为非 NULL 值,然后再修改列定义。

mysql> ALTER TABLE test_table MODIFY COLUMN description VARCHAR(100) NOT NULL;
ERROR 1138 (22004): Invalid use of NULL value

在修改列为 NOT NULL 之前,需要将现有的 NULL 值更新为非 NULL 值:

UPDATE example_table SET description = '' WHERE description IS NULL;
1.3.4 ERROR 1364 (HY000): Field 'description' doesn't have a default value : 修改列定义为 NOT NULL 并设置默认值

在将列设置为 NOT NULL 后,如果在插入数据时没有为该列提供值,则会出现 ERROR 1364 (HY000): Field 'description' doesn't have a default value 错误。这是因为该列不允许 NULL 值,并且没有默认值。

mysql> INSERT INTO test_table (name) VALUES ('Item 4'), ('Item 3');
ERROR 1364 (HY000): Field 'description' doesn't have a default value

为了避免插入数据时未指定列值导致的错误,可以在修改列为 NOT NULL 时设置默认值:

ALTER TABLE example_table MODIFY COLUMN description VARCHAR(100) NOT NULL DEFAULT '';
1.3.5 查询时处理 NULL

在查询时,可以使用 IFNULLCOALESCE 函数处理 NULL 值:

SELECT id, name, IFNULL(description, 'No Description') AS description FROM example_table;

or

SELECT id, name, IFNULL(description, '') AS description FROM example_table;
1.3.6 NULL 值的比较

在 SQL 中,使用 IS NULLIS NOT NULL 来检查 NULL 值,而不是使用等号:

SELECT * FROM example_table WHERE description IS NULL;
SELECT * FROM example_table WHERE description IS NOT NULL;

1.4 设置默认值

设置列的默认值可以确保在插入数据时未指定列值时,列会自动使用默认值。

示例:

CREATE TABLE example_table (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,description VARCHAR(100) NOT NULL DEFAULT 'No Description'
);

1.5 修改表结构

在实际应用中,可能需要修改表结构以适应业务需求的变化。可以使用 ALTER TABLE 语句来添加、删除或修改列。

添加列:

ALTER TABLE example_table ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

删除列:

ALTER TABLE example_table DROP COLUMN description;

修改列:

ALTER TABLE example_table MODIFY COLUMN name VARCHAR(100) NOT NULL;

2 实践举例

2.1 处理 NULL 值的方法

  1. 在 SQL 查询中处理 NULL
  2. 在代码中处理 NULL
2.1.1 在 SQL 查询中处理 NULL

在 SQL 查询中,可以使用 IFNULL 函数来替换 NULL 值。例如,可以将 NULL 值替换为空字符串:

SELECT F_channel, F_channel_error_code, IFNULL(F_channel_error_msg, '') AS F_channel_error_msg, F_inner_error_code, F_interface, F_strategy 
FROM lepay.t_channel_error_code_config;
2.1.2 在代码中处理 NULL

在代码中,应该检查 MYSQL_ROW 数组中的值是否为 NULL,而不是检查字符串 “NULL”。

MYSQL_ROW 是 MySQL C API 中定义的类型,通常通过 mysql.h 头文件引入。在 C++ 中处理 MySQL 数据库,可以使用 MySQL 提供的 C API 或者使用更高级的封装库如 mysql++

例如,在 C++ 中,可以手动检查 NULL 值。

std::string channelErrorMsg = (row[2] != nullptr) ? row[2] : "";  // 处理 NULL 值

References

  • https://dev.mysql.com/doc/
  • https://dev.mysql.com/doc/refman/8.0/en/data-types.html
  • https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
http://www.hkea.cn/news/991437/

相关文章:

  • 网站都有后台吗百度竞价开户公司
  • 秭归网站建设网站seo优化心得
  • wordpress电影网站模板seo运营
  • 公司注册网上核名业务如何终止网站排名优化怎么做
  • 网站建设伍金手指下拉2网上推广平台
  • 沧州网站建设公司翼马爱情链接
  • 计算机学了出来干嘛免费优化推广网站的软件
  • 宁波网站建设优化湖南seo优化按天付费
  • 门户网站手机版google官网入口
  • 深圳市工程建设交易服务中心网站软文什么意思
  • 大型网架加工厂成都网站建设方案优化
  • 导航网站的广告怎么做的千锋教育官方网
  • etc网站开发票网站制作软件免费下载
  • 上海seo网站设计2022十大网络营销案例
  • 还有做网站的必要吗网站运营推广方案
  • 企业营销型网站建设厂家品牌搜索引擎服务优化
  • 学校网站建设计划怎么成为百度推广代理商
  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式