Pot să reordona logic coloane într-un tabel?




Dacă am adăugarea unei coloane într-un tabel în Microsoft SQL Server, pot controla în cazul în care este afișată coloana logic în interogări?


Nu vreau să te pui cu aspectul fizic al coloane pe disc, dar aș dori să logic coloane de grup, împreună atunci când este posibil, astfel încât instrumente cum ar fi SQL Server Management Studio lista conținutul tabelului într-un mod convenabil.


Știu că pot face acest lucru prin SQL Management Studio de a intra în modul lor de „proiectare“ pentru tabele și trăgând ordinea coloanelor în jurul valorii, dar aș vrea să fie în măsură să o facă în SQL brut, astfel încât să pot efectua ordonarea scriptat din linia de comandă.
Nu poți face acest lucru prin programare (într-un mod sigur, care este), fără a crea un nou tabel. 


Ce Enterprise Manager face atunci când comite o reordonare este de a crea un tabel nou, muta datele și apoi ștergeți tabelul vechi și a redenumi nou tabel numele existent. 


Dacă doriți coloanele într-o anumită ordine / grupare, fără a modifica ordinea lor fizică, puteți crea o imagine care poate fi orice doriți.
> 
> Se pare că prima dintre valori este interpretată ca o coloană,
> cum este asta?
> 
> 
> 


Deoarece ați primit-o la fel ca `SomeString` , în loc
de text *valoare* , cum ar fi `'SomeString'` .
Acesta este modul în care funcționează SQL - și cum funcționează și
codul normal, într-adevăr. Daca ai fi avut:



```
String foo = bar;

```

v-ați aștepta să încercați să copiați valoarea unei variabile
numite `bar` , nu-i așa? Dacă ați însemnat un șir de
trei caractere, b, a, r, ați folosi:



```
String foo = "bar";

```

Este același lucru în SQL.


Cu toate acestea, presupunând că acest SQL este construit din
valori reale, ar trebui să utilizați oricum un parametru
`PreparedStatement` cu parametri:



```
String sql = "INSERT INTO meta (title, hlcount, textcount, imgcount, linkcount)"
             + " VALUES (?, ?, ?, ?, ?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, "SomeString");
pst.setInt(2, 6);
// etc

```

În acest fel, veți evita atacurile de injecție SQL și problemele
de conversie a șirului (de exemplu, pentru date). De asemenea, vă
păstrează curățarea SQL, separând codul de date. Depinde. Vezi MySQL Performanță post pe Blog pe acest subiect: <http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/>


Doar un scurt rezumat: Petru spune că aceasta depinde de indicii și de alți factori. Multe din comentariile la post par a spune că SQL\_CALC\_FOUND\_ROWS este aproape întotdeauna mai lent, uneori de până la 10 ori mai lent decât rularea a două interogări. Parantezele sunt necesare dacă utilizați cuvinte cheie sau caractere speciale în nume de coloană sau de identificare. Ai putea numi o coloană `[prenume]` (cu un spațiu) -, dar atunci'd nevoie pentru a utiliza paranteze de fiecare dată te-ai referit la acea coloană.


Cele mai noi instrumente adăugați-le peste tot, doar în cazul în care sau pentru consistență. desigur, poți seta încât să vezi doar tu!
setări→ cronologie si etichetare→ cine poate vedea ce postează altii in cronologia ta (aici setezi "doar eu") și vezi doar tu...
la multi ani! )) Deși nu am't testat personal, am motive să cred că cele de mai sus menționate LA COMANDA soluție va lucra pentru XP, 2000 și 2003 Server. Per meu și Bryant's de testare, ne-am'am identificat că aceeași abordare nu funcționează cu windows Vista sau Windows Server 2008-cel mai probabil, din cauza adăugat de securitate și /interactive comutator depreciată. 


Cu toate acestea, am dat peste aceasta [articolul](http://verbalprocessor.com/2007/12/05/running-a-cmd-prompt-as-local-system), care demonstrează utilizarea de [PSTools](http://download.sysinternals.com/files/PSTools.zip) de la [SysInternals](http://sysinternals.com/) (care a fost achiziționat de către Microsoft în iulie, 2006.) Am lansat linia de comandă prin următoarele și dintr-o dată am fost difuzate în temeiul Locale de Administrare Cont ca magic:



```
psexec -i -s cmd.exe
```

PSTools funcționează bine. L's ușor, bine documentate set de instrumente care oferă o soluție adecvată la problema mea.


Multe mulțumiri pentru cei care au oferit ajutor. eu cand trebuie sa invat ceva pe derost impart textul in propozitii si le repet de 5 ori cu voce tare
dupa ce o memorez trec la a doua... dupa ce o memorez pe a doua le mai repet o data de la inceput dupa ce o memorez pe a treia le repet iar de la inceput, ca sa se lege textul
dar de cele mai multe ori incerc sa invat logic si sa imi pun intrebari, dar avand in vedere ca e istorie, poti incerca metoda mea, sau metoda cu scrisul, si ea ajuta foarte mult, mai ales daca copiezi in varianta ta, cumva un rezumat al textului
sper ca am ajutat
spor la invatat Din păcate [caietul de sarcini JSON](https://www.json.org/) nu permite o virgulă la final. Există câteva browsere care va permite acest lucru, dar, în general, aveți nevoie să vă faceți griji despre toate browserele.


În general încerc transforma problema în jurul valorii de, și se adaugă virgulă înainte de valoarea reală, astfel încât să sfârșesc cu codul care arata ca aceasta:



```
for (i = 0; i < 5; ++i) {
  if (i) s.append(","); // add the comma only if this isn&#39;t the first entry
  s.appendF("\"%d\"", i);
}
s.append("]");
```

Asta plus o linie de cod în buclă este prea scump...


O altă alternativă I'am folosit atunci când ieșire o structură JSON de la un dicționar de o anumită formă este întotdeauna adăuga o virgulă după fiecare intrare (ca mai sus) și apoi se adaugă un manechin de intrare la final că nu a trailing comma (dar asta este doar leneș ;->).


Nu't lucra bine cu o gamă din păcate. pune informatia in orice editor de text (word, notepad, wordpad), iar la centrul de listare poti sa ceri sa-ti aranjeze informatia pe pagina in modul dorit, apoi sa o scoata pe foaie.
textul se aranheaza cel mai bine in word, iar cu putina rabdare poti face asta chiar tu acasa, urmand ca la xerox doar sa-ti scoata informatia pe hartie, la dimensiunea dorita. Mai multe persoane interpretat greșit acest lucru ca pe o întrebare despre cum să **magazin** parolele într-o bază de date. Care este greșit. Este vorba despre modul de a stoca parola pe care vă permite să obțineți **pentru** la baza de date.


Soluția obișnuită este de a muta parola din codul sursă într-un fișier de configurare. Apoi se lasă administrarea și asigurarea că fișierul de configurare până la administratorii de sistem. Așa dezvoltatorii nu trebuie să știi nimic despre producția parole, și nu există nici o înregistrare de parolă în control la sursă. foloseste columns. daca vrei sa scrii si pe a doua pagina pe prima coloana folosesti cand termini prima coloana de pe prima pagina enter pe a doua coloana pana ajungi pe a doua pagina. folosesti dupa aceea iar columns si scrii pe prima coloana de pe a doua pagina. sper ca ai inteles si ca te-am ajutat!