찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
{{tag>tech my_sql}} ======My Sql====== =====기본명령어===== 데이터베이스 접속 $ mysql -u 사용자명 -p dbname 설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다. $ mysql -u root mysql ====비밀번호 변경==== MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다. 다음 세가지 방법으로 비밀번호를 변경 할 수 있다. mysqladmin이용 mysqladmin -u root password 새비밀번호 update문 이용 mysql -u root mysql mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root'; mysql> FLUSH PRIVILEGES; Set Password 이용 SET PASSWORD FOR root=password('새비밀번호'); 일단 root 비밀번호가 설정된 상태에서는 mysql이나 mysqladmin 명령을 실행할 때 -p 옵션을 붙여주고 기존 비밀번호를 입력해야만 한다. ====사용자 추가/삭제==== mysql> GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'password'; username 이라는 사용자를 password라는 비밀번호를 갖도록 하여 추가한다. username은 dbname이라는 데이타베이스에 대해 모든 권한을 가지고 있다. username 사용자는 로칼 호스트에서만 접속할 수 있다. 다른 호스트에서 접속하려면 GRANT ALL PRIVILEGES ON dbname.* TO username@'%' IDENTIFIED BY 'password'; 위를 또한 번 실행한다. '%'에서 홑따옴표를 주의한다. 추가 : '%'를 호스트네임으로 지정해도 모든 호스트에서 접속할 수 없었다. 각 호스트별로 다 지정해야 했다. 아래 댓글에서 rukikuki님이 알려주셨습니다. GRANT ALL PRIVILEGES ON testdb.* TO 'username'@'%' IDENTIFIED BY 'password' ; 처럼 'username' 이런식으로 홑따옴표를 username 에도 붙여야 하더군요.. 불필요한 사용자 삭제는 mysql> DeLETE FROM user WHERE user='username'; mysql> FLUSH PRIVILEGES; ====데이터베이스 생성/보기==== 데이터베이스를 생성하고, mysql> CREATE DATABASE dbname; 현재 존재하는 데이터베이스 목록을 보여준다. mysql> SHOW DATABASES; 특정 데이타베이스를 사용하겠다고 선언한다. mysql> USE dbname; 쓸모 없으면 과감히 삭제한다. mysql> DROP DATABASE [IF EXISTS] dbname; IF EXISTS 옵션은 비록 데이타베이스가 없더라도 오류를 발생시키지 말라는 의미이다. ====테이블 생성/보기==== 테이블을 생성하고, mysql> CREATE TABLE tablename ( column_name1 INT, column_name2 VARCHAR(15), column_name3 INT ); 현재 데이타베이스의 테이블 목록을 보고 mysql> SHOW TABLES; 테이블 구조를 살펴본다. mysql> EXPLAIN tablesname; 혹은 mysql> DESCRIBE tablename; 이름을 잘못 지정했으면 이름을 변경할 수도 있다. mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4]; 필요 없으면 삭제한다. mysql> DROP TABLE [IF EXISTS] tablename; <code mysql> CREATE TABLE dw_user ( id varchar(20) DEFAULT 'guest' NOT NULL, name varchar(20), karma int, exp int, comment text, email varchar(35), ip varchar(17), join_date datetime, last_date datetime, PRIMARY KEY (id) ); </code> ====현재 상태 보기==== mysql> status <file> -------------- mysql Ver 15.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Connection id: 71 Current database: mysql Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 5 hours 39 min 3 sec Threads: 6 Questions: 545 Slow queries: 0 Opens: 175 Flush tables: 1 Open tables: 31 Queries per second avg: 0.026 -------------- </file> INSERT mysql> INSERT INTO tablename VALUES(값1, 값2, ...); 혹은 mysql> INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...); SELECT mysql> SELECT col1, col2, ... FROM tablename; 컬럼명을 *로 하면 모든 컬럼 의미. mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade; 컬럼의 이름을 바꿔서 출력. mysql> SELECT * FROM tablename ORDER BY col1 DESC; mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC; DESC는 내림차순 ASC는 오름차순. mysql> SELECT * FROM grade WHERE korean < 90; 조건줘서 SELECT. mysql> SELECT * FROM grade LIMIT 10; 결과중 처음부터 10개만 가져오기 mysql> SELECT * FROM grade LIMIT 100, 10; 결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다. UPDATE mysql> UPDATE tablename SET col1=새값 WEHER 조건 DELETE mysql> DELETE FROM tablename WEHRE 조건 mysql에서 쿼리 결과 세로로 보기 -E 옵션을 줘서 실행한다. $ mysql -E -u root -p mysql mysql에서 발생한 오류나 경고 다시 보기 mysql> show errors; mysql> show warnings; * 출처: [[http://kwon37xi.egloos.com/1634694|]]
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
기술
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
sure_bet
preimplantation_genetic_diagnosis
[정상 배아 비율]
isotretinoin
[부작용]
semen_analysis
[정자 향상을 위한 방법]
ectopic_pregnancy
[약물치료]
adult_adhd
[일상생활에서의 대처 방안]
adhd
[주의력결핍- 과잉운동장애]
adhd_dx
제거됨
정신과학
adhd1
제거됨
diabetes_mellitus
[당뇨병 (Diabetes mellitus; DM)]
fructose
[과당 (Fructose)]
gout
[예방]
boric_acid
자궁내막
[자궁내막]
엽산
[Folate vs Folic acid vs 5-MethylTHF]
neural_tube_defect
[고위험군]