>  기사  >  데이터 베이스  >  MySQL 기본 공통 명령에 대한 자세한 소개

MySQL 기본 공통 명령에 대한 자세한 소개

WBOY
WBOY앞으로
2021-12-23 18:37:142790검색

이 기사에서는 데이터베이스에 연결하고 비밀번호를 변경하는 방법 외에도 일반적으로 사용되는 몇 가지 명령이 도움이 되기를 바랍니다.

MySQL 기본 공통 명령에 대한 자세한 소개

1. MySQL에 연결

형식: mysql -h 호스트 주소 -u 사용자 이름 -p 사용자 비밀번호

1. 이 머신에서 MySQ에 연결합니다.

먼저 cmd 창을 열고 mysql -uroot -p를 입력한 다음 공백과 함께 MySQL 콘솔을 입력합니다. MySQL은 mysql>입니다.
mysql -uroot -p /*如果刚安装好MySQL,root是没有密码的*/

2. 원격 호스트에서 MySQL에 연결합니다.

원격 호스트의 IP를 가정합니다. 은: 192.168.206.100, 사용자 이름은 루트이고 비밀번호는 12345678입니다.
mysql> mysql -h192.168.206.100 -uroot -p12345678; /*u与root可以不加空格*/

3. MySQL 종료 명령: 종료 또는 종료(Enter):

mysql> exit/quit;

2. MySQL--비밀번호 변경

형식: mysqladmin - u 사용자 이름 -p 이전 비밀번호 비밀번호

1. 루트 비밀번호가 비어 있으면 루트 비밀번호를 설정합니다.

mysql> mysqladmin -uroot newpassword;   -- 因为开始时root没有密码,所以-p旧密码 可以省略

2. sqladmin 명령을 사용하여 비밀번호를 변경하세요. :
mysql> mysqladmin -uroot -p123456 password 12345678;

3. 비밀번호를 변경하려면

mysql> set password for 用户名@localhost = password('新密码');

4. 비밀번호 설정 명령을 사용하세요.

      ①关闭正在运行的MySQL服务。
      ②打开DOS窗口,转到mysql\bin目录。
      ③输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
      ④再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
      ⑤连接权限数据库: use mysql;
      ⑥改密码:update user set password=password("新密码") where user="root";(别忘了最后加分号) 。
      ⑦刷新权限(必须步骤):flush privileges; 。
      ⑧退出mysql  quit;
mysqld --skip-grant-tables   
mysql> use mysql;   --连接权限数据库
mysql> update user set password=password("新密码") where user="root";   -- 改密码
mysql> flush privileges;    -- 刷新权限
mysql> quit;    -- 退出mysql

三、MySQL--常用命令

1、创建数据库(Create)

mysql> create database db_name;  -- 创建数据库
mysql> show databases;           -- 显示所有的数据库
mysql> drop database db_name;    -- 删除数据库
mysql> use db_name;              -- 选择数据库
mysql> create table tb_name (字段名 varchar(20), 字段名 char(1));   -- 创建数据表模板
mysql> show tables;              -- 显示数据表
mysql> desc tb_name;            -- 显示表结构
mysql> drop table tb_name;      -- 删除表

    例如:

/*创建学生表*/
create table Student(
     Sno char(10) primary key,
     Sname char(20) unique,
     Ssex char(2),
     Sage smallint,
     Sdept char(20)
);

2、插入数据(Insert)

     insert into 语句用于向表格中插入新的行:
/*第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:*/
mysql> insert into tb_name values (value1,value2,value3,...);
/*第二种形式需要指定列名及被插入的值:*/
mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);

     例如:

/*插入数据*/

mysql> insert into Student values ( 20180001,张三,男,20,CS);

mysql> insert into Student values ( 20180002,李四,男,19,CS);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,赵六,男,20,IS);

3、查询数据(Select)

select 문은 데이터베이스의 테이블 및 뷰에 대한 정보를 보는 것 외에도 SQL Server 시스템 정보를 보고, 데이터 테이블을 복사하고 생성할 수도 있습니다. 쿼리 기능이 강력하고 SQL 언어의 영혼문이자 SQL에서 가장 자주 사용되는 명령문입니다.
기본 select 문:
기본 select 문은 세 부분으로 나눌 수 있습니다. 찾을 데이터(select), 찾을 위치() from) , 검색 조건(where)은 무엇입니까?
select 문의 일반적인 형식은 다음과 같습니다.

                                                               ~                                                          [새 테이블 이름으로]                          <조건>]
                                                                           그룹화 기준: <그룹 표현>]
                      > DESC]]



(1) 지정된 열을 쿼리합니다. 에서 사용됩니다 select 문에 지정된 컬럼의 위치는 쿼리 테이블의 모든 컬럼을 의미합니다.

템플릿:
select * from

tb_name;

2. 테이블에 지정된 컬럼을 쿼리합니다.

여러 컬럼을 쿼리할 경우 컬럼 이름은 쉼표로 구분해야 합니다.
템플릿
: leSelect tb_name. & lt; 문자 필드 & gt; , & gt; ...

3. 쿼리 결과에 열 제목을 지정합니다.

열 제목(열 별칭이라고도 함)을 지정하면 출력 결과를 더 쉽게 이해할 수 있습니다.
열 제목을 지정할 때 열 이름 뒤에 AS 절을 사용할 수 있습니다. 열 별칭 = 을 사용할 수도 있습니다.
AS 절의 형식은 다음과 같습니다. 열 이름 또는 계산식 [AS] 열 머리글
select <문자 필드> lt; 문자 필드 & gt; & lt; 문자 필드 & gt; from bt_name; +                                            때, 컬럼의 원래 값을 직접 사용할 수 있을 뿐만 아니라, 결과적으로 컬럼 값을 계산한 후 얻은 값도 쿼리 결과로 사용할 수 있습니다. 즉, select 절에서 표현식의 값을 쿼리할 수 있으며, 표현식은 열 이름, 상수 및 산술 연산자로 구성될 수 있습니다. ㅋㅋ 쿼리 결과의 계산된 열에 "열 이름 없음"이 표시되면 일반적으로 다음을 추가해야 합니다. 계산된 열의 열 제목입니다.中 그 중: 표현식에 사용할 수 있는 연산자에는 더하기+, 빼기-, 곱하기*, 나누기/, 나머지%가 있습니다.

템플릿 select <문자 필드>, <문자 필드>, 열 제목 = <문자 필드> * n from tb_name;

(2) 행 선택: 쿼리 결과로 테이블의 일부 또는 전체 행을 선택합니다

형식: select [all | n [퍼센트]] & lt; 대상 목록 표현식 목록 & gt; from 테이블 이름

1 , 관계 데이터베이스의 경우 테이블의 각 줄이 달라야 합니다. 반복하다). 그러나 테이블 쿼리 시 특정 열만 선택하면 쿼리 결과에 중복된 행이 나타날 수 있습니다.语 tb_name;


                                ~                                                             
                  상단 옵션을 사용하여 개수를 제한하세요. 쿼리 결과에 반환된 행, 즉 지정된 개수의 레코드가 반환됩니다.

여기서 n은 쿼리 결과 집합의 처음 n개 행이 반환됨을 나타내는 양의 정수입니다. 퍼센트 키워드가 포함된 경우 결과 집합의 처음 n% 행이 반환됨을 의미합니다. ㅋㅋ                                                     
Template
: ​​​​tb_name에서 상위 n%를 선택합니다. /*첫 번째 데이터를 쿼리합니다. n% tb_name*/足 (3) 조건에 맞는 쿼리 라인: where 절을 사용하여 조건 쿼리 구현

where 절을 통해 클래스는 FROM 절을 따라야 합니다. ㅋㅋ                                                                           다음 연산자 또는 표현식을 사용할 수 있습니다.                ​<=,<,=,>,>=,!=,< ;>,!                                                                             > S와 같은 퍼지 매칭 연산자 빈 값 연산자가 null이고 null이 아님

논리 연산자 및, 또는
1. 비교 연산자 사용:

템플릿
: : select * from tb_name 여기서 <문자 필드>= n ;

결정 2. 범위 지정:

지정된 범위에는 두 가지 키워드가 있습니다: Between ... and not between ... and ... and.


' ' ' ' ' ' ' ' ' ' ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐ ‐ 키워드 뒤에 오는 것은 범위의 하한(즉, 낮은 값)이고, 뒤와 키워드는 범위의 상한(즉, 높은 값)입니다.

지정된 범위(또는 지정되지 않음)가 지정된(또는 지정되지 않은) 행입니다.
3. 열거형 사용:

in 키워드를 사용하여 값 집합을 지정합니다. 표현식의 값이 in의 값과 일치하는 경우 가능한 모든 값이 집합에 나열됩니다. 집합, 요소가 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.                               템플릿

:

select * from tb_name 여기서 <문자 필드> [not] in (값 1, 값 2,..., 값 n);  
4. 퍼지 쿼리에 와일드카드 사용:

like 절을 사용하여 문자열에 대한 퍼지 일치 쿼리를 수행할 수 있습니다. like 절은 논리 값(true 또는 False)을 반환합니다.句 Like 문장의 형식:

tb_name에서 *를 선택하세요. 여기서 & lt; 문자 필드 & gt; like & lt; 일치하는 문자열 & gt; 일치 문자열에는 일반적으로 와일드카드 문자 % 및 _(밑줄)이 포함됩니다. : 그중: 代%: 문자열은 임의의 길이를 나타냅니다(0 포함)

5. NULL 쿼리를 사용합니다.
은 표현식의 값으로 결정되어야 합니다. null 값인 경우 is null 키워드를 사용하세요.
not을 사용하지 않을 때 표현식의 값이 null이면 true가 반환되고, 그렇지 않으면 not을 사용하면 false가 반환되며 결과는 정반대입니다. ㅋㅋ ~条 重 6. 다중 조건 쿼리: 논리 연산자 사용

논리 연산자 and (and: 두 조건 모두 충족해야 함) and or (또는: 조건 중 하나가 충족될 수 있음)을 사용할 수 있음 여러 쿼리 조건 결합 . 또는보다 우선순위가 높지만 괄호를 사용하면 우선순위가 변경될 수 있습니다. ㅋㅋ 템플릿 Field> = 'volues' 및 n;


(4개) results order by 절을 사용하면 하나 이상의 필드 값(또는 표현식 값)에 따라 쿼리 결과를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 수 있습니다. 기본값은 오름차순입니다.
형식:

order by {sort 표현식 [ASC|DESC]}[,...n]

여기서: 정렬 표현식은 단일 필드이거나 필드와 함수의 조합일 수 있습니다. 상수 등으로 구성되거나 양의 정수로 구성됩니다.

템플릿: select * from tb_name
order by
<정렬 표현식> 집계 함수

테이블을 검색할 때 결과를 계산하거나 계산해야 하는 경우가 많습니다. 검색 기능을 향상시키기 위한 통계 함수(집합 함수 또는 집계 함수라고도 함) 통계 함수는 테이블의 데이터를 계산하는 데 사용됩니다. 이러한 함수는 데이터 집합을 계산하고 단일 값을 반환하는 데 사용됩니다.数 일반적으로 사용되는 통계 함수
함수 이름
함수

평균을 구하는 AVG

COUNT는 레코드 수를 찾아 INT 유형 정수

MAX를 최대값으로 반환합니다.
분 최소값 찾기

                                                                                       ~

1. SUM 및 AVG

기능: 지정된 숫자 표현식의 합계 또는 평균을 구합니다.
템플릿: avg(<문자 필드>)를 평균으로 선택하고, 합계(<문자 필드>)를 tb_name의 총 개수로 선택합니다. 여기서 <문자 필드>;

2. Max 및 Min

기능: 지정된 표현식의 최대값 또는 최소값을 찾습니다.
템플릿:
max(<문자 필드>)를 최대값으로, min(<문자 필드>)을 최소값으로 선택 from tb_name;

        3. 개수

이 함수에는 count(*) 및 count([all]|[distinct] 필드 이름)의 두 가지 형식이 있습니다. 일반적으로 count(*)를 사용하여 레코드 수를 쿼리합니다. 특정 필드에 몇 개의 값이 있는지 알아보려면 count(고유한 필드 이름)를 사용하세요. C. (1) .count (*):
기능: 통계 레코드의 총 개수입니다. ㅋㅋ                                                                                                          이후
️ 빈 레코드 수는 텍스트, 이미지, ntext 및 고유 식별자를 제외한 모든 유형일 수 있습니다. E 템플릿: leSelect count (& lt; 문자 필드 & gt;) AS total number from tb_name

(6) 쿼리 결과 그룹화 쿼리 결과 테이블은 특정 열 또는 여러 열로 그룹화됩니다. 값이 동일한 열 값은 하나의 그룹으로 그룹화되고 각 그룹마다 하나의 결과가 계산됩니다. 이 절은 그룹 통계를 수행하기 위해 통계 함수와 함께 사용되는 경우가 많습니다. 형식은 다음과 같습니다. 그룹별 필드[,...n][<조건식> 있음];G 使용 1. group by 절을 사용한 후

SELECT 목록에는 group by 절에 지정된 그룹 필드 및 통계 함수만 포함될 수 있습니다. v a2.having 절
HAVING 절은 그룹화 후 결과를 선별하기 위해 group by 절과 함께 사용해야 합니다(선별 조건에는 통계 함수가 포함되는 경우가 많습니다).
3. 쿼리를 그룹화할 때 통계 함수가 포함되지 않은 조건
일반적으로 통계 함수가 포함된 조건은 had 절만 사용할 수 있습니다.
템플릿: 선택 <문자 필드>,count(*)를 열 헤더로
from tb_name 여기서 <문자 필드>='string' 그룹은 <문자 필드> ;;

4. 데이터 수정(Update) Update 문은 테이블의 데이터를 수정하는 데 사용됩니다.
형식:

update tb_name 열 이름 설정 = 새 값, 여기서 열 이름 = 특정 값

5.

한 줄 삭제
delete from t b_name 여기서 열 이름 = a 특정 가치; 모든 행 삭제
                                                                               >                                     . 이는 테이블의 구조, 속성 및 인덱스가 완료되었음을 의미합니다.
형식: delete * from tb_name 또는 delete from tb_name; alter command
alter add
명령은 테이블에 필드를 추가하는 데 사용됩니다. alter add명령 형식: alter table table name add

field type

other;
예를 들어 passtest 필드가 MyClass 테이블에 int(4)
유형으로 추가되며 기본값은 0:
mysql> alter table MyClass add passtest int(4) default '0';<h5 style="line-height:normal;font-family:Times;text-align:left;background-color:rgb(255,255,255);"><span class="s3" style="line-height:normal;font-family:'Songti SC';"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span style="font-size:16px;color:#000000;"> 添加两个字段  </span></span></span></span></span></span></span></span></span></span></span></span></h5>
<pre class="brush:php;toolbar:false">mysql> alter table Person add age int,add address varchar(11);
 删除两个字段
mysql> alter table Person drop column age,drop column address;
 修改字段的注释
mysql> alter table `student` modify column `id` comment '学号';
 1) 加索引
      mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

 mysql> alter table employee add index emp_name (name);
 2) 加主关键字的索引
      mysql> alter table 表名 add primary key (字段名);

mysql> alter table employee add primary key(id);
 3) 加唯一限制条件的索引
      mysql> alter table 表名 add unique 索引名 (字段名);

 mysql> alter table employee add unique emp_name2(cardnumber);
 4) 删除某个索引
      mysql> alter table 表名 drop index 索引名;

mysql>alter table employee drop index emp_name;
 5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
 6) 修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
 7) 删除字段
MySQL ALTER TABLE table_name DROP field_name;

五、MySQL -- 应用

学生-课程数据库

 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
 课程表:Course(Cno,Cname,Cpno,Ccredit)
 学生选课表:SC(SnoCno,Grade)
 关系的主码加下划线表示。各个表中的数据示例如图所示:

Student表

学号

Sno

姓名

Sname

性别

Ssex

年龄

Sage

所在系

Sdept

20180001 张三 20 CS
20180002 李四 19 CS
20180003 王五 18 MA
20180004 赵六 20 IS
Course表

课程号

Cno

课程名

Cname

先修课

Cpno

学分

Ccredit

1 数据库 5 4
2 数学   2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理   2
7 PASCAL语言 6 4
SC表

学号

Sno

课程号

Cno

成绩

Grade

20180001

1 92
20180001 2 85
20180001 3 88
20180002 2 90
20180002 3 80

 建立一个“学生”表Student:

create table Student(
  Sno char(9) peimary key, /*列级完整性约束条件,Sno是主码*/
  Sname char(20) unique, /* Sname取唯一值*/
  Ssex char(2),
  Sage smallint,
  Sdept char(20)
);
 建立一个“课程”表Course:
create table Course(
  Sno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
  Sname char(40) not null, /*Cpno的含义是先修课*/
  Cpno char(4)
  Ccredit smallint,
  foreign key (Cpnoo) references Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
 建立学生选课表SC:
create table SC(
  Sno char(9),
  Cno char(4),
  Grade smallint,
  frimary key (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
  foreign key (Sno) references Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
  foreign key (Cno) references Course(Cno)   /*表级完整性约束条件,Cno是外码,被参照表是Course */
);

推荐学习:mysql视频教程

위 내용은 MySQL 기본 공통 명령에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제