Мне интересно, добавлю ли я столбец в свою таблицу, используя:
alter table Jobs
add Complete boolean
Удалит ли это все данные, которые сейчас находятся в моей таблице? Я использую SQL Server Management Studio 2012
2 ответа
Нисколько. Это добавляет столбец, значение которого равно NULL
, но не оказывает прямого влияния на данные, уже находящиеся в таблице.
Обратите внимание: boolean
не является типом данных в SQL Server, поэтому этот конкретный оператор не будет работать. Вместо этого вы можете использовать bit
, tinyint
, smallint
или int
. Или char(1)
для хранения "T" и "F".
И второе примечание: если ваша таблица очень большая, то добавление столбца может занять некоторое время, потому что все данные, возможно, придется переписать. Хотя значения равны NULL
, каждая страница в SQL Server содержит бит для значений NULL
во всех столбцах. Если это переступает границу байта, тогда данные должны быть перегруппированы на странице - и, возможно, новые страницы, выделенные для данных. В любом случае каждую страницу необходимо изменить, чтобы включить в нее значения NULL
. По этой причине рекомендуется по возможности добавлять столбцы в пустые таблицы.
Нет, это не сотрет ваши данные. Он добавит столбец, и всем существующим данным в этом столбце будут присвоены нулевые значения.
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.