SQL - Crear tablas y bd

 
Vista:

Crear tablas y bd

Publicado por juan diego mayen (1 intervención) el 07/04/2023 20:44:54
hola soy nuevo en el mundo de sql y programación en general, estoy usando el siguiente código para crear una base de datos en maria db, pero me da error de sintaxis cada ves que trato de ejecutarlo ya lo seccione para ver donde podia estar el error y al parecer esta en las lineas donde dice )Engine....

CREATE DATABASE IF NOT EXISTS `PRUEBA` DEFAULT CHARACTER SET UTF8 COLLATE
UTF8_GENERAL_CI;
USE `PRUEBA`;
create table `pieza`(
`codpie`varchar(3)collate utF8_spanish_ci not null,
`nompie`varchar(10) collate utf8_spanish_ci not null,
`color`varchar(10) collate uTF8_spanish_ci not null,
`peso`float NOT NULL,
`ciudad`varchar(15) COLLATE uTF8_spanish_ci NOT NULL,
)ENGINE=InnoDB DEFAULT CHARACER SET=UTF8 COLLATE=utF8_spanish_ci;
INSERT INTo`pieza`(`codpie`,`nompie`,`color`,`peso`,`ciudad`)VALUES
('P1','tuerca','gris',2.5,'madrid'),
('P2','tornillo','rojo'1.25,'madrid'),
('P3','Aranadela','blanco',3,'barcelona'),
('P4','Clavo','Gris',5.5,'Londres'),
('P5','ALcayata','Blanco',10,'Madrid');
Create table`proveedor`(
`codpro`char(3) COLLATE uft8_spnaish_ci NOT NULL,
`nompro`varchar(30) COLLATE uft8_spanish_ci NOT NULL,
`status`int(11) DEFAULT NULL,
`ciudad`varchar(15) COLLATE uft8_spanish_ci DEFAULT NULL
)ENGINE=INNODB default charset=uft8 COLLATE=uft8_spanish_ci;
insert into `proveedor`(`codpro`,`nompro`,`stauts`,`ciudad`)VALUES
('S1','JOSE ANUEL',2,'GUATEMALA'),
('S2','JUAN DIEGO',1,'MEXICO'),
('S3','LUISA GOMEZ',3,'VENEZUELA'),
('S4','CARLOS SANCHEZ',4,'MADRID'),
('S5','MARIA REYES',4,'BARCELONA');
CREATE TABLE`PROYECTO`(
`CODPJ`CHAR(3) COLLATE Utf8_SPANISH_CI NOT NULL,
`NOMPJ`VARCHAR(20) COLLATE Utf8_SPANISH_CI DEAFAULT NULL,
`CIUDAD`VARCHAR(15) COLLATE UTf8_SPANISH_CI DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=UFT8 COLLATE=Utf8_SPANISH_CI;
INSERT INTO`PROYECTO`(`CODPJ`,`NOMPJ`,`CIUDAD`)VALUES
('J1','PROYECTO 1', 'MADRID'),
('J2','PROYECTO 2','MADRID'),
('J3','PROYECTO 3','LONDRES'),
('J4','PROYECTO 4','ROMA');
CREATE TABLE `VENTAS`(
`CODPRO`CHAR(3) COLLATE Utf8_SPANISH_CI DEFAULT NULL,
`COPIE`CHAR(3) COLLATE Utf8_SPANISH_CI DEFAULT NULL.
`CODPJ`CHAR(3) COLLATE Utf8_SPANISH_CI DEFAULT NULL,
`CANTIDAD`INT(11) DEFAULT NULL,
)ENGINE=INNODB DEFAULT CHARSET=UTf8 COLLATE=Utf8_SPANISH_CI;
CREATE TABLE `VENTAS`(
INSERT INTO(`VENTAS`(`CODPRO`,`CODPIE`,`CODPJ`,`CANTIDAD`)VALUES
('S1','P1','J1',400),
('S1','P2','J1',600),
('S1','P3','J3',100),
('S1','P4','J1'300),
('S2','P2','J2'300),
('S5','P4','J2',300),
('S5','P5','J2'200),
('S3','P5','J3',100),
('S4','P5','J3',100),
('S5','P5',J3,250),
('S4','P2','J4',500),
('S4','P3','J4',250);

este es un código meramente para aprendizage pero quisiera que al menos corriera , alguien podria ayudarme ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear tablas y bd

Publicado por Hola (1 intervención) el 11/04/2023 23:27:02
NO es por el engine propiamente.

Sino porque tienes una coma que sobra:

`ciudad`varchar(15) COLLATE uTF8_spanish_ci NOT NULL,

Esa coma le está indicando a MySQL que vienen más columnas, siempre antes de un paréntesis no puede haber coma, si lo ejecutas de esta forma, no deberías tener problemas

create table pieza(
codpie varchar(3)collate utF8_spanish_ci not null,
nompie varchar(10) collate utf8_spanish_ci not null,
color varchar(10) collate uTF8_spanish_ci not null,
peso float NOT NULL,
ciudad varchar(15) COLLATE uTF8_spanish_ci NOT NULL);

Y lo del collate utF8_spanish_ci , si ya la BD cuando fue creada, se hizo bajo esa collation, sobra decirle que las columnas en las tablas son de ese tipo de collation
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar