>php教程 >PHP开发 >일반적으로 사용되는 MySQL 명령의 포괄적인 목록

일반적으로 사용되는 MySQL 명령의 포괄적인 목록

高洛峰
高洛峰원래의
2016-12-14 11:07:491606검색

다음은 우리가 자주 사용하고 매우 유용한 MySQL 명령입니다. 아래에서 #은 Unix 명령줄에서 명령을 실행한다는 의미이고, mysql> 은 현재 MySQL 서버에 로그인되어 있고 mysql 명령이 mysql 클라이언트에서 실행된다는 의미입니다.
MySQL에 로그인하려면 -h로 호스트 이름을 지정해야 합니다.

# [mysql dir]/bin/mysql -h hostname -u root -p

데이터베이스를 만듭니다.

mysql> create database [databasename];

모든 데이터베이스를 나열합니다.

mysql> show databases;

데이터베이스로 전환합니다.

mysql> use [db name];

데이터베이스의 모든 테이블을 표시합니다.

mysql> show tables;

데이터 테이블의 필드 형식을 봅니다.

mysql> describe [table name];

데이터베이스를 삭제합니다.

mysql> drop database [database name];

데이터 테이블을 삭제합니다.

mysql> drop table [table name];

모든 데이터를 데이터 테이블로 표시합니다.

mysql> SELECT * FROM [table name];

지정된 데이터 테이블의 컬럼 정보를 반환합니다.

mysql> show columns from [table name];

선택한 행의 표시를 필터링하려면 "무엇이든" 값을 사용하세요.

mysql> SELECT * FROM [table name] WHERE [field name] = "whatever";

이름 "Bob"과 전화번호 "3444444"가 포함된 모든 기록을 표시합니다.

mysql> SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';

이름 "Bob"과 전화번호 "3444444"가 포함되지 않은 모든 기록을 표시하고 전화번호 필드를 기준으로 정렬합니다.

mysql> SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;

이름이 "bob"으로 시작하고 전화번호가 "3444444"인 모든 레코드를 표시합니다.

mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';

이름이 "bob"으로 시작하고 전화번호가 "3444444"인 레코드 1~5번째를 표시합니다.

mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;

정규식을 사용하여 레코드를 찾습니다. 대소문자를 구분하려면 "정규식 바이너리"를 사용하세요. 이 명령은 a로 시작하는 모든 레코드를 찾습니다.

mysql> SELECT * FROM [table name] WHERE rec RLIKE "^a";

고유한 기록을 반환합니다.

mysql> SELECT DISTINCT [column name] FROM [table name];

선택한 기록을 오름차순 또는 내림차순으로 표시합니다.

mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

행 수를 반환합니다.

mysql> SELECT COUNT(*) FROM [table name];

지정된 열 값의 합계를 통계합니다.

mysql> SELECT SUM(*) FROM [table name];

테이블에 참여하세요.

mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;

새 사용자를 만듭니다. 루트로 로그인하십시오. mysql 데이터베이스로 전환하고, 사용자를 생성하고, 권한을 새로 고칩니다.

# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> flush privileges;

unix 명령줄에서 사용자 비밀번호를 변경하세요.

# [mysql dir]/bin/mysqladmin -u username -h hostname.blah.org -p password 'new-password'

mysql 명령줄에서 사용자 비밀번호를 변경하세요. 루트로 로그인하여 비밀번호를 설정하고 권한을 업데이트하세요.

# /etc/init.d/mysql stop
# mysqld_safe --skip-grant-tables &
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("newrootpassword") where User='root';
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql stop
# /etc/init.d/mysql start

루트 비밀번호가 비어 있으면 루트 비밀번호를 설정하세요.

# mysqladmin -u root password newpassword

루트 비밀번호를 업데이트하세요.

# mysqladmin -u root -p oldpassword newpassword

사용자 "bob"이 비밀번호 "passwd"를 사용하여 localhost에서 서버에 연결하도록 허용합니다. 루트로 로그인하고 mysql 데이터베이스를 전환하십시오. 권한을 설정하고 권한을 업데이트하세요.

# mysql -u root -p
mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by 'passwd';
mysql> flush privileges;

데이터베이스 db에 대한 권한을 설정합니다. 루트로 로그인하고 mysql 데이터베이스로 전환하여 권한을 부여하고 권한을 업데이트하세요.

# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
mysql> flush privileges;

또는

mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;

기존 테이블의 데이터를 업데이트합니다.

mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';

테이블에서 [필드 이름] = '무엇이든'인 행을 삭제합니다.

mysql> DELETE from [table name] where [field name] = 'whatever';

데이터베이스에 대한 권한을 업데이트합니다.

mysql> flush privileges;

열을 삭제하세요.

mysql> alter table [table name] drop column [column name];

DB에 컬럼을 추가합니다.

mysql> alter table [table name] add column [new column name] varchar (20);

열 이름을 변경합니다.

mysql> alter table [table name] change [old column name] [new column name] varchar (50);

고유 열을 추가합니다.

mysql> alter table [table name] add unique ([column name]);

열 값을 더 크게 설정하세요.

mysql> alter table [table name] modify [column name] VARCHAR(3);

고유한 열을 삭제하세요.

mysql> alter table [table name] drop index [colmn name];

CSV 파일을 테이블로 가져옵니다.

mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);

모든 데이터베이스를 sql 파일로 내보냅니다.

# [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql

데이터베이스를 내보냅니다.

# [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql

데이터베이스에서 테이블을 내보냅니다.

# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql

SQL 파일에서 데이터베이스(데이터 테이블)를 복원합니다.

# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql

데이터 테이블 생성 예시 1.

mysql> CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));

데이터 테이블 생성 예시 2.

mysql> create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default &#39;bato&#39;);


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.