Инструкция ALTER TABLE (Microsoft Access SQL)
Служит для изменения макета таблицы после того, как она была создана с помощью инструкции CREATE TABLE.
Ядро СУБД Microsoft Access не поддерживает использование ALTER TABLE или любых других инструкций DDL с базами данных, которые не основаны на Microsoft Access. Используйте вместо этого методы DAO Create.
Синтаксис
ALTER TABLE таблица field type[(size)] [NOT NULL] [CONSTRAINT index] | Alter COLUMN field type[(size)] | CONSTRAINT multifieldindex> | DROP field I CONSTRAINT indexname> >
Инструкция ALTER TABLE включает в себя следующие элементы:
Имя таблицы, которую требуется изменить.
Имя поля, которое будет добавлено в таблицу, удалено из нее или изменено в ней.
Тип данных поля.
Размер поля в знаках (только для полей с типом данных TEXT и BINARY).
Индекс поля. Дополнительные сведения о создании этого индекса см. в статье, посвященной предложению CONSTRAINT.
Индекс набора полей, добавляемых в таблицу. Дополнительные сведения о создании этого индекса см. в статье, посвященной предложению CONSTRAINT.
Имя удаляемого индекса набора полей.
Примечания
Изменить существующую таблицу с помощью инструкции ALTER TABLE можно несколькими способами. Вы можете выполнить указанные ниже действия.
-
Добавить поле в таблицу, используя инструкцию ADD COLUMN. Требуется указать имя поля и тип данных. Для полей с типом данных TEXT и BINARY можно также указать размер. Например, следующая инструкция добавляет поле Notes с типом данных TEXT размером 25 знаков в таблицу Employees:
ALTER TABLE Employees ADD COLUMN Notes TEXT(25)
ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)
- Невозможно одновременно добавить или удалить несколько полей или индексов.
- Чтобы добавить индекс для одного поля или для набора полей в таблице, используйте инструкцию CREATE INDEX. Чтобы удалить индекс, созданный с помощью инструкции ALTER TABLE или CREATE INDEX, можно использовать инструкцию ALTER TABLE или DROP.
- Свойство NOT NULL можно задавать для одного поля или внутри именованного предложения CONSTRAINT для одного или нескольких полей. Свойство NOT NULL для поля можно задать только один раз. Попытка определить это свойство повторно приведет к ошибке выполнения.
Пример
В этом примере добавляется поле Salary (Заработная плата) с типом данных Money в таблицу Employees (Сотрудники).
Sub AlterTableX1() Dim dbs As Database ' Modify this line to include the path to Northwind ' on your computer. Set dbs = OpenDatabase("Northwind.mdb") ' Add the Salary field to the Employees table ' and make it a Money data type. dbs.Execute "ALTER TABLE Employees " _ & "ADD COLUMN Salary MONEY;" dbs.Close End Sub
В этом примере тип данных поля Salary (Заработная плата) изменяется с Money на Char.
Sub AlterTableX2() Dim dbs As Database ' Modify this line to include the path to Northwind ' on your computer. Set dbs = OpenDatabase("Northwind.mdb") ' Modify the existing Salary field of the Employees table ' by changing it to a CHAR data type. dbs.Execute "ALTER TABLE Employees " _ & "ALTER COLUMN Salary CHAR(20);" dbs.Close End Sub
В этом примере удаляется поле Salary (Заработная плата) из таблицы Employees (Сотрудники).
Sub AlterTableX3() Dim dbs As Database ' Modify this line to include the path to Northwind ' on your computer. Set dbs = OpenDatabase("Northwind.mdb") ' Delete the Salary field from the Employees table. dbs.Execute "ALTER TABLE Employees " _ & "DROP COLUMN Salary;" dbs.Close End Sub
В этом примере добавляется внешний ключ для таблицы Orders (Заказы). Внешний ключ основан на поле EmployeeID (Код сотрудника) и ссылается на поле EmployeeID (Код сотрудника) таблицы Employees (Сотрудники). В этом примере не требуется перечислять поле EmployeeID (Код сотрудника) после таблицы Employees (Сотрудники) в предложении REFERENCES, так как EmployeeID — это первичный ключ таблицы Employees (Сотрудники).
Sub AlterTableX4() Dim dbs As Database ' Modify this line to include the path to Northwind ' on your computer. Set dbs = OpenDatabase("Northwind.mdb") ' Add a foreign key to the Orders table. dbs.Execute "ALTER TABLE Orders " _ & "ADD CONSTRAINT OrdersRelationship " _ & "FOREIGN KEY (EmployeeID) " _ & "REFERENCES Employees (EmployeeID);" dbs.Close End Sub
В этом примере удаляется внешний ключ из таблицы Orders (Заказы).
Sub AlterTableX5() Dim dbs As Database ' Modify this line to include the path to Northwind ' on your computer. Set dbs = OpenDatabase("Northwind.mdb") ' Remove the OrdersRelationship foreign key from ' the Orders table. dbs.Execute "ALTER TABLE Orders " _ & "DROP CONSTRAINT OrdersRelationship;" dbs.Close End Sub
Как добавить поле в таблицу sql
Для добавления поля используется запрос ALTER . Посмотрим на пример:
ALTER TABLE rockets ADD COLUMN speed int;
Мы добавили поле speed с типом int в таблицу rockets .
Добавление полей в таблицы базы данных с помощью phpMyAdmin
Чтобы добавить поле в таблицу базы данных, пожалуйста, сделайте следующее: 1. Выберите базу данных, где находится таблица. 2. Затем кликните на таблицу, в которую вы хотите добавить новое поле. 3. Перейдите на вкладку «Структура». 4. Выберите, количество полей и их местонахождение в таблице. 5. Нажмите «Перейти». 6. Введите имя, тип и длину нового поля. 7. Нажмите «Сохранить».
Полезные ссылки
Домен | Com домены на сайте Hostimul.com
Домен — означает имя веб-сайта, которое позволяет пользователям Интернета получать доступ к своему веб-сайту. Доступ к веб-сайту, не имеющему этого им.. узнать больше
Купить домен | Дешевые цены на домены в Hostimul.com
Купить домен — Нет необходимости тратить время на поиск надежной и прибыльной компании для покупки домена. Как команда Hostimul.com, мы предлагаем вам.. узнать больше
Дешевый Vps в Европе
Дешевый Vps в Европе в Hostimul.com — это виртуальный частный сервер. Вы можете купить это на Hostimul.com, где мы предоставляем виртуальные серве.. узнать больше
Vps в Европе
Наш Vps в Европе будет для вас отличным решением, если вы переросли среду общего хостинга и задаетесь вопросом, что делать дальше. Наши специалист.. узнать больше
Недорогой выделенный сервер
Недорогой выделенный сервер – это выделенный виртуальный сервер, услуга хостинга, при которой клиент полностью получает в личное пользование вирту.. узнать больше
Хостинг с большим дисковым пространством ✅
Хостинг с большим дисковым пространством предоставляет пользователям все преимущества безлимитной услуги. Хостинги предлагают клиентам разные усл.. узнать больше
Быстрый виртуальный хостинг✅
Ищете быстрый виртуальный хостинг ? В Hostimul вы найдете все, что вам нужно. Давайте уточним что такое виртуальный хостинг? Когда придет время вы.. узнать больше
Выделенный Сервер в Европе ✔️
Выделенный сервер в Европе, предлагаемый Hostimul.com станет для вас уникальной возможностью получить доступный и надежный сервер для вашего прое.. узнать больше
Купить Хостинг Дешево
Хотите купить хостинг дешево для вашего сайта ? Добро пожаловать в Hostimul.com, где найдете только выгодные тарифы. На рынке доступно несколько .. узнать больше
Облачный хостинг
Решение выбрать облачный хостинг может быть продиктовано желанием иметь собственный сервер, и не платить за избыточную емкость жесткого диска, кот.. узнать больше
Хостинг недорогой
Ищете хостинг недорогой ? Hostimul.com будет для вас лучшим спутником по обеспечению вашего проекта наилучшей хостинговой услугой. В поисках самог.. узнать больше
Сервер для сайта
Надежный сервер для сайта необходим каждому, кто желает безопасный “ Дом ” для своего проекта-сайта. Крупному сайту, который интенсивно наполняет.. узнать больше
Сервер Аренда
Сервер аренда — это услуга, которая нужна особенно тем, кто имеет большой проект или сайт для безопасной и безотказной работы. Основные причины, .. узнать больше
Виртуальный хостинг сайтов ✔️
Ищете виртуальный хостинг сайтов ? Hostimul будет для вас верным спутником по организации вашего проекта онлайн. Увеличьте скорость с помощью веб-.. узнать больше
Хостинг для wordpress Украина✔️
Услуга » Хостинг для wordpress Украина » в Hostimul является наиболее востребованной в силу своей надежности и качества обслуживания. Управляемые .. узнать больше
Надежный Хостинг ✔️
Надежный хостинг доступен по адресу Hostimul.com по самым выгодным тарифам ! Владывая значительные средства в создание актуального и интересного с.. узнать больше
Хостинг выделенный сервер
Выбрать хостинг выделенный сервер для бизнеса не так просто, как кажется на первый взгляд. Одним из актуальных вариантов является выделенный серве.. узнать больше
Хостинг пробный период✅
Хостинг пробный период доступен в Hostimul.com на целый месяц с бесплатным доменом. Получите удобные услуги управления доменом вместе с учетной з.. узнать больше
Купить Хостинг Для Сайта ✅
Решили купить хостинг для сайта ? Вы пришли определенно по верному адресу ! Скорость сайта может сильно повлиять как на видимость вашей поисковой .. узнать больше
Хостинг для интернет магазина
Ищете хостинг для интернет магазина ? Hostimul будет для вас наиболее лучшим вариантом для безопасной и отказоустойчивой деятельности вашего проек.. узнать больше
Хостинг бесплатный ✔️
Выберите хостинг бесплатный для оптимизации вашего бизнеса. Наши хостинговые услуги также распространяют свои услуги на таких администраторов веб-.. узнать больше
Vps в Сша ☑️
Хотитн продвижения бизнеса онлайн ? Будем рады предложить вам лучшие серверные опции, которые выведут возможности бизнеса на новый уровень. Vps .. узнать больше
Vps в Украине ☑️
Vps в Украине стал самым популярным среди всех. Технология виртуализации используется службой хостинга, которая предоставляет частные вы.. узнать больше
Vps в Германи ✅
Vps Германи с использованием Hostimul.com означает, что вы можете быть уверены, что сможете использовать дополн.. узнать больше
Лучший хостинг ☑️
Хотите продвижение вашего проекта онлайн ? Для этого необходим лучший хостинг, которого вы найдете на Hostimul.com, являющийся лидером по хостинго.. узнать больше
Аренда виртуального сервера ☑️
Перед тем, как решитесь аренда виртуального сервера вам необходимо решить какой трафик ваш нужен. Виртуальный сервер это — хостинг-услуга сервер, .. узнать больше
Выделенный сервер ☑️
Выделенный сервер идеально подходит для высоконагруженных сайтов, в особенности для игровых порталов, для больших интернет магазинов с высокой пос.. узнать больше
Купить хостинг ☑️
Купить хостинг — это процесс не самый легкий и требует учет определенных аспектов. Очевидно, чтобы ваш сайт был скоростным и .. узнать больше
Виртуальный Сервер ☑️
Виртуальный сервер — это сервер, который совместно использует аппаратные и программные ресурсы с другими операционными систем.. узнать больше
Vps в Москве ✅
Заказать Vps в Москве через hostimul.com будет для вас очень выгодно и доступно. Независимо от того, устанавливается ли пользовательское приложен.. узнать больше
Baranova 2869/35, Žižkov,
130 00 Prague 3, Czechia
© 2023 HOSTIMUL S.R.O. ВСЕ ПРАВА ЗАЩИЩЕНЫ
добавление полей из таблицы при группировке
Есть две таблицы active_test_learnings и test_learnings. Я объединяю данные из двух таблиц, и группирую строки по person_id, при этом выбираю ту запись, у которой наибольший балл (MAX(tab1.score)). Вопрос, как мне вытянуть из tab1.state_id, которое будет соответствовать выбранному tab1.person_id?
SELECT tab1.person_id , MAX(tab1.score) AS persScore FROM (SELECT atl.person_id ,atl.assessment_name ,atl.score ,atl.state_id FROM active_test_learnings atl WHERE atl.assessment_id = 6978752233814311350 UNION ALL SELECT tl.person_id ,tl.assessment_name ,tl.score ,tl.state_id FROM test_learnings tl WHERE tl.assessment_id = 6978752233814311350) AS tab1 GROUP BY tab1.person_id
Ниже пример таблиц:
active_test_learnings
| person_id | state_id | score | | --------- | -------- | ----- | | 007 | 0 | 0 | | 007 | 1 | 3 |
test_learnings
| person_id | state_id | score | | --------- | -------- | ----- | | 007 | 3 | 8 | | 007 | 4 | 7 |
Предложенный код объединяет данные их двух таблиц и группирует по person_id при этом выбирая строку с наибольшим score. Это то, что мне нужно. Но мне необходимо добавить в итоговую выборку так же и state_id, который соответствует выбранному person_id (с наибольшим score). Так же в таблицах есть и другие поля (не стал добавлять в пример), которые мне необходимо получать. И данные по этим полям так же должны соответствовать выбранному person_id