webForumDet fria alternativet

Allmänna frågor om MySQL

27 svar · 735 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 825 inlägg
#1

Mina erfarenheter av andra databaser verkar det inte som jag har så mycket nytta av i MySQL.

Finns det någon webbplats som förklarar alla de 20(?) olika typer av "fälttyper" som man kan välja i MySQL? Jag tvivlar inte en sekund på att det står i dokumentationen... men den är ju som ett mindre uppslagsverk och verkligen HELTÄCKANDE med betoning på tung.

------------------
Never underestimate your opponents.

cascaMedlem sedan feb. 20005 891 inlägg
#2

Lite off-topic kanske, men jag kan garantera att du max behöver känna till en handfull fälttyper :)

typ
CHAR
VARCHAR
DATE
TEXT
INT

Dom klarar man sig rätt bra med :)

------------------
Rökare är som vanliga människor, fast inte lika länge.

VetgirigMedlem sedan nov. 2000199 inlägg
#3

Hela manualen finns här
http://www.mysql.com/doc/

------------------
Anders Lindbäck,Igiro Internet Giro

EclipseMedlem sedan juli 20003 825 inlägg
#4

Nej det är verkligen inte off-topic, det är precis det svar jag vill se! :-)

Kan du beskriva dom fem lite? Finns det ingen boolean? Vad är skillnaden på CHAR och VARCHAR?

När jag hackade C fick jag lära mig att en variabel av typen CHAR bara innehöll ett tecken...?

printf("Ålder. %s", $value[1]);

När man skriver så (typ) ska man inte skriva %i om fältet i databasen är av typ INT? Jag har för mig det var nåt liknande i C...?

------------------
Never underestimate your opponents.

EclipseMedlem sedan juli 20003 825 inlägg
#5

Tack Vetgirig! :-)

Jag har precis avslutat denna php/mysql tutorial, http://hotwired.lycos.com/webmonkey/99/21/index2a.html och ska fortsätta att plöja dokumentationen för PHP.

Jag har försökt att plöja manualen för mysql också men den var ju så jävulskt omfattande...

------------------
Never underestimate your opponents.

KimMedlem sedan jan. 20007 697 inlägg
#6

Du glömde ENUM. Den kan du nog också behöva. :)

------------------
lyfter man blicken så finns det inga gränser

EclipseMedlem sedan juli 20003 825 inlägg
#7

Du glömde ENUM. Den kan du nog också behöva.

- I vilket sammanhang då?

------------------
Never underestimate your opponents.

KimMedlem sedan jan. 20007 697 inlägg
#8

Om vi säger att du har en community där du vill hålla koll på vilka som är inloggade så kan du använda ett fält som heter t.ex. inloggad. Med hjälp av ENUM så kan värdet i inloggad bara anta något av de värden som du har förbestämt (t.ex. Y om personen är inloggad eller N om personen inte är inloggad)

T.ex. ENUM('Y','N')
I det här fallet så är värdet antingen Y eller N.

Kolla nannes script för hans community. Det finns nog under någon av sessions-trådarna.

------------------
lyfter man blicken så finns det inga gränser

spangoMedlem sedan juni 20008 205 inlägg
#9

CHAR
VARCHAR

Två datatyper för att lagra text med <256 tecken.
Använder man VARCHAR lagras längden på strängen i en byte, och sålunda tar ett varcharfält som kan lagra femtio tecken bara upp nio bytes om man har åtta tecken i det (åtta tecken + en byte för att lagra längden på strängen). CHAR lagrar alltid maxlängden för strängen (om ett femtioteckens CHAR-fält innehåller åtta tecken tar det lik förbannat upp femtio bytes).

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

Olika datatyper för att lagra långa texter.

TINYINT
SMALLINT
MEDIUMINT
INTEGER eller INT
BIGINT

Olika datatyper för att lagra heltal.

FLOAT
DOUBLE

Lagrar flyttal.

TIME

Lagrar ett klockslag.

DATE

Lagrar ett datum.

DATETIME

Lagrar klockslag och datum.

TIMESTAMP

En tidsstämpel (lagrar en tidpunkt i antal sekunder förflutna sen 00:00:00 1/1 1970).

Några av de viktigaste...

------------------
Crying tears of lead
spangoman - back from the dead!

EclipseMedlem sedan juli 20003 825 inlägg
#10

Wow, spango... Vilket inlägg! Nu vet jag var i manualen jag ska kolla och efter vad.

---

I ett annat inlägg sa jag att hakarna var skillnaden mellan korrekt och felaktig kod i PHP:

ASP -> SELECT * FROM [users] ...
PHP -> SELECT * FROM users ...

Jag avslutade med att "jag som trodde att hakarna var en del av SQL standarden!" vavid någon svarade att hakarna är en del av SQL...

Betyder detta att MySQL har gått ifrån en uppsatt standard? Det måste i så fall vara första gången i världshistorien som Microsoft för en gångs skull inte sjappar en (del av en) standard... ?? Eller??

Min fråga är egentligen, finns det fler hakar med MySQL?

------------------
Never underestimate your opponents.

LarsGMedlem sedan dec. 200012 464 inlägg
#11

Jag avslutade med att "jag som trodde att hakarna var en del av SQL standarden!" vavid någon svarade att hakarna är en del av SQL...

Hakarna ingår inte i SQL-standard, det är ett påhitt som finns i Sybase, SQL server och Access och kanske några till.

Det som finns i standarden är att man kan ange namn inom "" om man har namn som är reserverade ord eller innehåller udda tecken.

SQL server innehåller en hel del som inte är enligt standard, date och time t.ex.

------------------
essentitia preter non sans multiplicandum

EclipseMedlem sedan juli 20003 825 inlägg
#12

OK, jag förstår. jag har inte så där jättemycket kunskaper om SQL Server. Jag har gått nån kurs, har en 3 månaders demo med "SQL Server 7.0 system Administration Kit" och den medföljande boken.

Jag har använt Access för webben men det programmet / databasen behövde man ju aldrig iktigt lära sig! Det fungerade ju i alla fall...

Men för att återgå till tråden, likheterna mellan MySQL och Access är inte direkt mäktigt många, om ens någon!

---

I mitt första projekt är det framförallt en nyhetsdel och en faq del som ska ligga i databasen. Det rör sig inte om speciellt många poster och jag tror inte att "en optimering av databasen" i praktiken gör någon större skillnad.

Kommer tid kommer råd.

------------------
Never underestimate your opponents.

LarsGMedlem sedan dec. 200012 464 inlägg
#13

På den här sidan så kan man jämföra olika databaser och se vilka funktioner dom stöder.
http://www.mysql.com/information/crash-me.php

Den kanske är lite orättvis då en del funktioner som finns i Access inte är med

------------------
essentitia preter non sans multiplicandum

EclipseMedlem sedan juli 20003 825 inlägg
#14

Intressant läsnig och väldigt fullständig. Till och med jag fattade litegrann! :-)

------------------
Never underestimate your opponents.

sgtpepperMedlem sedan apr. 20007 588 inlägg
#15

Hakarna ingår inte i SQL-standard, det är ett påhitt som finns i Sybase, SQL server och Access och kanske några till.

Då är det alltså Sybase som är boven i detta fall för visst köpte Microsoft Sybase databasmotor och döpte den till SQL Server?

------------------
"Med ett schysst järnrör slår man hela världen med häpnad" - Socker-Conny

@ndersMedlem sedan juni 200032 969 inlägg
#16

pepper: såvitt jag vet är var det till största delen sybase i sql server till och med version 6.5. 7 är alltså en microsoftprodukt, som har behållt hakarna.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

EclipseMedlem sedan juli 20003 825 inlägg
#17

Ytterligare en upptäckt i mappen MySQL:

Där finns tre filer för varje tabell. Jag testade att dubblicera kod och filer för tabellen "users" och det fungerade direkt!

Det betyder att jag kan utveckla hela systemet hos mig och sen även kopiera filerna i mappen "data" och ta med mig dom till kunden och då fungerar allt!?

------------------
Never underestimate your opponents.

EclipseMedlem sedan juli 20003 825 inlägg
#18

En anna grej som jag funderat på är det där programmet WinMySQLadmin som man sköter hela databasen med. Jag har win 98, ska jag använda "mysqld" eller "mysqld-opt"? Den senare är markerad. Vad är skillnaden?

------------------
Never underestimate your opponents.

EclipseMedlem sedan juli 20003 825 inlägg
#19

Booleans

Vilken typ använder jag för booleans i MySQL?

------------------
Never underestimate your opponents.

nanneMedlem sedan dec. 19991 749 inlägg
#20

Det betyder att jag kan utveckla hela systemet hos mig och sen även kopiera filerna i mappen "data" och ta med mig dom till kunden och då fungerar allt!?

Det är enklare om du gör en mysqldump på hela databasen till en fil (mysqldump databasnamn > filnamn) och sedan kör in den i din kunds mysqlserver med kommandot mysql databasnamn < filnamn

------------------

"Information wants to be free -- because it is now so easy to copy and distribute casually -- and information wants to be expensive -- because in an Information Age, nothing is so valuable as the right information at the right time."
- John Perry Barlow

nanne.net

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)