데이터 베이스 MySQL 튜토리얼 数据库初识--从MySQL 出发_MySQL

数据库初识--从MySQL 出发_MySQL

Jun 01, 2016 pm 01:07 PM

       要学Web 开发,也得先对数据库有所了解呀。数据库分门别类,多种多样,目前我选择了 MySQL 。

  看了 MySQL,觉得数据库处理也不是很难,主要就是一些对数据的处理,MySQL 主要就是一些命令的运用。

  看过了,怕忘了吧,得及时记录下来。


  数据库基础

  (1)数据模型--有三类

           层次模型 :用树形结构来表示实体及其之间的模型。

           网状模型: 以实体型为节点的有向图表示各实体及其之间联系的模型。

           关系模型: 用二维表格表示实体及其相互关系的模型。

 

            前两模型较不常见,所以主要考虑 关系模型。


   (2)关系数据库

           关系是一个带有属性的表,这个表称为关系表,一组表组成一 数据库。

           表由行和列组成,其行称为元组,列称为属性。

           属性的取值范围称为域,行称为记录。

    (3)键的选用

           主键(Primary Key)  组合键 (Concatenated Key) 候选键 (Candidate Key) 外键 (Foreign Key)

         哭 这些键的具体区别我还是看不懂啊.....看来还要多理解理解.....

     (4)关联类型

            一对一    一对多    多对多  

     (5) 最后还有 第一二三范式    实体/参照/域完整性  主键/唯一/外键/默认约束  等等.......也不多说了..


********************************************华丽分割线************************************************************



    MySQL  主要命令

   (大小写不区分)

     MySQL 的数值类型有:

     整型: tinyint  smallint  mediumint  bigint   ;   浮点型 : float  double  decimal  ;

     MySQL 还有数据字段修饰符:

       自动增量设置  auto_increment   :  create table book(id int auto_increment,name varchar(15));

      然后插入数据  insert into book (id,name) values("1","book1"); insert into book(bame) values("book2"); 则 id 会自动自增。

自动补齐前导 0   zerofill : create table book(id int(3) zerofill,name char(20)); 再插入如上..id 就会变为 001 之类的.

另外还有两个类型: blob 和 text 通常保存较大文本,但前者可以保存二进制文件(如图片?)。

                                同样也有  tinyblob  blob  mediumblob  longblob  tinytext  text mediumtext  longtext

                                还有 enum 类型和 set 类型,恕我还没弄懂这俩货..暂时不说了...

                                还有那些跟时间日期相关的方法,规则也挺多,也跳过吧..

  

              例如创建 books 数据库 :create database books;   

                     查看数据库大纲信息:show databases;

             创建新用户 user1并分配权限 select (他使用密码  "passwd",密码可选可不选) :

             grant select on *.* to user1 identified by "passwd" with grant option;

             查看用户权限: show grants for user1; 

             撤销用户权限:revoke select on *.* from user1;

             要选择某数据库(books):use books;  ----> (选择了才能操作它里面的表)  查看数据库表: show tables;

            创建数据库表(book) : create table book(id int,name varchar(15),price varchar(10));

           其中 前一项是属性,后一项是对应类型,varchar(15) 和char(15)差不多,只是后者固定了15个空间。

           为表中插入值 :insert into book values(1 book1 10,2 book2 30);

           查看某特定表(book)信息 : describe book;

            删除数据库(books): drop database books ;

           删除表数据(book) :delete from book where id="2";  删除表中 id=2 的数据;

           为某些值创建一视图(myView),就是某种意义上的“整合”:

    create view myView as select id,name from book;    接下来 select * from myView; 就可以查看视图(也可用 describe myView;)

         删除视图  drop myView;

         查询语句+约束(where后面是约束): select * from book where name="book2";

                                   (and  or 等):select * from book where name="book2" and/or id="1";

                        (limit )  : select id from book order by id limit 3; 其中order by 可以id 方式来排序. 还可换成 limit 1,3; 代表区间1 ~ 3 ;

          模糊查询(like):与通配符“%” 和下划线 “_"搭配使用,前者配一个或多个字符,后者只配一个字符。

                        如 select * from book where name like('_k%');

          联合多列(concat) :就是把某些元素联合在一起:作为一个新的“列”?

                         如 select id,concat(name," ",price) as info from book; 就是 把 name 和 price 联合成 info 再与id 项 弄出来呗..

          查询最大值最小值  : select max(id)/min(id) as id from book;  计算行数:            select count(*) from book; 

          分组查询 (group by ): select * from book group by name ;

           更新数据(更改数据  update ): update book set name="book111" where id="2"; 就是把id=2 的name 更改了。

等等等等........................


除此之外,最好为数据库创建索引,可以加快查询速度。

使用 alter table :  alter table book add index/nique/rimary  index_name;  其中三项为索引类型。

使用create index: create index index_name on book;

使用create table:  create table book(index index_name);

查看(id)索引的使用:explain select id from book where name="book2";

还可以从宏观上查看  show status like "Handler_read%";


表的类型....

MyISAM (默认)  HEAP(最快)   可直接如此定义 : create table book(id char)type = HEAP;

还有锁定表  READ 和 WRITE   外键   这三个还是看不大明 .....先不说了..

还有学会创建临时表  create temporary table book(id varchar(10) NOT NULL,);  ps: NOT  NULL 可以直接用, 你懂的吧....

分析表有 analyze table book; 检查表有 check table book ; 优化表有 optimize table book;

等等等等......

命令虽多,多打打,始终会熟悉的...



**************************************************************华丽的分割线****************************************************




第一篇博客就这样写完了,耗时将近两个钟头,而且是熬夜写...........精神可嘉..................

第一次写博文,格式什么的都不熟悉  尴尬

以后不能熬夜了.......

奋斗奋斗奋斗










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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL에서 인덱스를 사용하는 것보다 전체 테이블 스캔이 더 빠를 수 있습니까? MySQL에서 인덱스를 사용하는 것보다 전체 테이블 스캔이 더 빠를 수 있습니까? Apr 09, 2025 am 12:05 AM

전체 테이블 스캔은 MySQL에서 인덱스를 사용하는 것보다 빠를 수 있습니다. 특정 사례는 다음과 같습니다. 1) 데이터 볼륨은 작습니다. 2) 쿼리가 많은 양의 데이터를 반환 할 때; 3) 인덱스 열이 매우 선택적이지 않은 경우; 4) 복잡한 쿼리시. 쿼리 계획을 분석하고 인덱스 최적화, 과도한 인덱스를 피하고 정기적으로 테이블을 유지 관리하면 실제 응용 프로그램에서 최상의 선택을 할 수 있습니다.

InnoDB 전체 텍스트 검색 기능을 설명하십시오. InnoDB 전체 텍스트 검색 기능을 설명하십시오. Apr 02, 2025 pm 06:09 PM

InnoDB의 전체 텍스트 검색 기능은 매우 강력하여 데이터베이스 쿼리 효율성과 대량의 텍스트 데이터를 처리 할 수있는 능력을 크게 향상시킬 수 있습니다. 1) InnoDB는 기본 및 고급 검색 쿼리를 지원하는 역 색인화를 통해 전체 텍스트 검색을 구현합니다. 2) 매치 및 키워드를 사용하여 검색, 부울 모드 및 문구 검색을 지원합니다. 3) 최적화 방법에는 워드 세분화 기술 사용, 인덱스의 주기적 재건 및 캐시 크기 조정, 성능과 정확도를 향상시키는 것이 포함됩니다.

Windows 7에 MySQL을 설치할 수 있습니까? Windows 7에 MySQL을 설치할 수 있습니까? Apr 08, 2025 pm 03:21 PM

예, MySQL은 Windows 7에 설치 될 수 있으며 Microsoft는 Windows 7 지원을 중단했지만 MySQL은 여전히 ​​호환됩니다. 그러나 설치 프로세스 중에 다음 지점이 표시되어야합니다. Windows 용 MySQL 설치 프로그램을 다운로드하십시오. MySQL의 적절한 버전 (커뮤니티 또는 기업)을 선택하십시오. 설치 프로세스 중에 적절한 설치 디렉토리 및 문자를 선택하십시오. 루트 사용자 비밀번호를 설정하고 올바르게 유지하십시오. 테스트를 위해 데이터베이스에 연결하십시오. Windows 7의 호환성 및 보안 문제에 주목하고 지원되는 운영 체제로 업그레이드하는 것이 좋습니다.

InnoDB에서 클러스터 된 인덱스와 비 클러스터 된 인덱스 (2 차 지수)의 차이. InnoDB에서 클러스터 된 인덱스와 비 클러스터 된 인덱스 (2 차 지수)의 차이. Apr 02, 2025 pm 06:25 PM

클러스터 인덱스와 비 클러스터 인덱스의 차이점은 1. 클러스터 된 인덱스는 인덱스 구조에 데이터 행을 저장하며, 이는 기본 키 및 범위별로 쿼리에 적합합니다. 2. 클러스터되지 않은 인덱스는 인덱스 키 값과 포인터를 데이터 행으로 저장하며 비 예산 키 열 쿼리에 적합합니다.

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? 인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? Mar 21, 2025 pm 06:28 PM

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

MySQL에서 큰 데이터 세트를 어떻게 처리합니까? MySQL에서 큰 데이터 세트를 어떻게 처리합니까? Mar 21, 2025 pm 12:15 PM

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

MySQL : 쉽게 학습하기위한 간단한 개념 MySQL : 쉽게 학습하기위한 간단한 개념 Apr 10, 2025 am 09:29 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

MySQL 사용자와 데이터베이스의 관계 MySQL 사용자와 데이터베이스의 관계 Apr 08, 2025 pm 07:15 PM

MySQL 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.

See all articles