찾다
데이터 베이스MySQL 튜토리얼MySQL 数据库笔记_MySQL

MySQL 数据库笔记_MySQL

May 27, 2016 pm 02:30 PM
데이터 베이스비밀번호를 입력하세요

bitsCN.com

登录MySQL:<br> <br>mysql -h localhost -u root -ptest  密码前必须没有空格,否则让你重新输入密码<br> <br>mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样<br> <br> <br> <br> <br> <br>MySQL命令集锦<br> <br>一、连接MYSQL。<br> <br>格式: mysql -h主机地址 -u用户名 -p用户密码<br> <br>1、连接到本机上的MYSQL。<br> <br>首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输<br> <br> <br> <br>密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输<br> <br> <br> <br>入密码.<br> <br>如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL<br> <br> <br> <br>的提示符是: mysql><br> <br>2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码<br> <br> <br> <br>为abcd123。则键入以下命令:<br> <br>mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样<br> <br> <br> <br>)<br> <br>3、退出MYSQL命令: exit (回车)<br> <br>二、修改密码。<br> <br>格式:mysqladmin -u用户名 -p旧密码 password 新密码<br> <br>1、给root加个密码ab12。首先在DOS下进入目录mysql/bin,然后键入以下命令<br> <br>mysqladmin -u root -password ab12<br> <br>注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。<br> <br>2、再将root的密码改为djg345。<br> <br>mysqladmin -u root -p ab12 password djg345<br> <br>三、增加新用户。<br> <br>(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结<br> <br> <br> <br>束符)<br> <br>格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”<br> <br>1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插<br> <br> <br> <br>入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:<br> <br>grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” <br> <br> <br> <br>Identified by “abc”;<br> <br>但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的<br> <br> <br> <br>任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。<br> <br>2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行<br> <br> <br> <br>查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),<br> <br>这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主<br> <br> <br> <br>机上的web页来访问了。<br> <br>grant select,insert,update,delete on mydb.* to [email=test2@localhost]<br> <br> <br> <br>test2@localhost[/email] identified by “abc”;<br> <br>如果你不想test2有密码,可以再打一个命令将密码消掉。<br> <br>grant select,insert,update,delete on mydb.* to [email=test2@localhost]<br> <br> <br> <br>test2@localhost[/email] identified by “”;<br> <br>下篇我是MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在<br> <br> <br> <br>MYSQL的提示符下进行的,而且每个命令以分号结束。<br> <br>一、操作技巧<br> <br>1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可<br> <br> <br> <br>以了。<br> <br>也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。<br> <br>2、你可以使用光标上下键调出以前的命令。<br> <br>二、显示命令<br> <br>1、显示当前数据库服务器中的数据库列表:<br> <br>mysql> SHOW DATABASES;<br> <br>注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操<br> <br> <br> <br>作。<br> <br>2、显示数据库中的数据表:<br> <br>mysql> USE 库名;<br> <br>mysql> SHOW TABLES;<br> <br>3、显示数据表的结构:<br> <br>mysql> DESCRIBE 表名;<br> <br>4、建立数据库:<br> <br>mysql> CREATE DATABASE 库名;<br> <br>5、建立数据表:<br> <br>mysql> USE 库名;<br> <br>mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));<br> <br>6、删除数据库:<br> <br>mysql> DROP DATABASE 库名;<br> <br>7、删除数据表:<br> <br>mysql> DROP TABLE 表名;<br> <br>8、将表中记录清空:<br> <br>mysql> DELETE FROM 表名;<br> <br>9、显示表中的记录:<br> <br>mysql> SELECT * FROM 表名;<br> <br>10、往表中插入记录:<br> <br>mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);<br> <br>11、更新表中数据:<br> <br>mysql-> UPDATE 表名 SET 字段名1=’a',字段名2=’b’ WHERE 字段名3=’c';<br> <br>12、用文本方式将数据装入数据表中:<br> <br>mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;<br> <br>13、导入.sql文件命令:<br> <br>mysql> USE 数据库名;<br> <br>mysql> SOURCE d:/mysql.sql;<br> <br>14、命令行修改root密码:<br> <br>mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;<br> <br>mysql> FLUSH PRIVILEGES;<br> <br>15、显示use的数据库名:<br> <br>mysql> SELECT DATABASE();<br> <br>16、显示当前的user:<br> <br>mysql> SELECT USER();<br> <br>三、一个建库和建表以及插入数据的实例<br> <br>drop database if exists school; //如果存在SCHOOL则删除<br> <br>create database school; //建立库SCHOOL<br> <br>use school; //打开库SCHOOL<br> <br>create table teacher //建立表TEACHER<br> <br>(<br> <br>id int(3) auto_increment not null primary key,<br> <br>name char(10) not null,<br> <br>address varchar(50) default ‘深圳’,<br> <br>year date<br> <br>); //建表结束<br> <br>//以下为插入字段<br> <br>insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);<br> <br>insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);<br> <br>如果你在mysql提示符键入上面的命令也可以,但不方便调试。<br> <br>(1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c://下,<br> <br> <br> <br>并在DOS状态进入目录[url=file:////mysql//bin]//mysql//bin[/url],然后键入以下命令:<br> <br>mysql -uroot -p密码  <br>如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的<br> <br> <br> <br>注释去掉即可使用)。<br> <br>(2)或者进入命令行后使用 mysql> source c://school.sql; 也可以将school.sql文件导入<br> <br> <br> <br>数据库中。<br> <br>四、将文本数据转到数据库中<br> <br>1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用[url=file:////n]//n<br> <br> <br> <br>[/url]来代替.例:<br> <br>3 rose 大连二中 1976-10-10<br> <br>4 mike 大连一中 1975-12-23<br> <br>假设你把这两组数据存为school.txt文件,放在c盘根目录下。<br> <br>2、数据传入命令 load data local infile “c://school.txt” into table 表名;<br> <br>注意:你最好将文件复制到[url=file:////mysql//bin]//mysql//bin[/url]目录下,并且要<br> <br> <br> <br>先用use命令打表所在的库。<br> <br>五、备份数据库:(命令在DOS的[url=file:////mysql//bin]//mysql//bin[/url]目录下执行<br> <br> <br> <br>)<br> <br>1.导出整个数据库<br> <br>导出文件默认是存在mysql/bin目录下<br> <br>mysqldump -u 用户名 -p 数据库名 > 导出的文件名<br> <br>mysqldump -u user_name -p123456 database_name > outfile_name.sql<br> <br>2.导出一个表<br> <br>mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名<br> <br>mysqldump -u user_name -p database_name table_name > outfile_name.sql<br> <br>3.导出一个数据库结构<br> <br>mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql<br> <br>-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table<br> <br>4.带语言参数导出<br> <br>mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt <br> <br> <br> <br>database_name > outfile_name.sql<br> <br>---------------------------------------------------------------------------------<br> <br> <br> <br>---------<br> <br>数据类型 tinyint smallint  没有varchar2,只有char 和varchar 用于存储字符串<br> <br> <br> <br>-------<br> <br>复合类型<br> <br>enum 多选一 枚举类型<br> <br>set 多选<br> <br>-------<br> <br> <br> <br> null安全的等于 regexp或rlike 正则表达式匹配<br> <br>聚合函数(分组函数Oracle)<br> <br>trim(str) 去掉空格 replace(str。srchstr,rplcstr)用字符串rplcstr替换字符串str<br> <br> <br> <br>中所有出现的字符srchstr。<br> <br>Oracle中只能有一个数据库实例,mysql有多个<br> <br>mysql默认事务自动提交 set autocommit=0;<br> <br>create database zhang;<br> <br>use zhang;<br> <br>show tables;<br> <br>create table test(id int primary key auto_increment,name varchar(15));<br> <br>select now() 不用不全结构  now()当前时间<br> <br>数据超过最大长度时回自动截取最大长度。<br> <br>decima不写参数时,默认decimal(10,0)<br> <br> <br> <br>mysql忽略大小写,不敏感   binary 二进制严格匹配  where binary name='zhang'<br> <br>insert into test values(),(),()同时插入多行。<br> <br>time 不给定符号时从后往前找,给定时按给的是存储。<br> <br>datetime null时为空<br> <br>timestamp    null时给系统时间  p85<br> <br> <br> <br>-----<br> <br>运算符<br> <br>null+ 任何数=null<br> <br>任何值对0整除为null<br> <br>能转换为数字的就转换,不能的就截取。从开始截,不能的话为0.<br> <br> <br> <br>'a'='A' 1    binary 'a'='A' 0<br> <br>只要有一方是数字都回将字符串转换为数字。<br> <br>只要有null参与都返回null。 null=null 为null           null is null为1<br> <br>前面空格不能省,后面的可以。 null in(2,null)为null   nullnull为1   2null<br> <br> <br> <br>为0<br> <br> <br> <br>regexp ^ 表示以什么开头;^ham<br> <br>md5() 不可逆加密算法<br> <br> <br> <br>group_concat()  P121 把具有同一属性的其他信息联合起来10 abc,def,ghi<br> <br> <br> <br>sql 脚本<br> <br>source d:/1.sql 执行sql脚本<br> <br> <br> <br>分页  select * from 表名 limit 0,10   从0条开始,取10条记录 ---数数从零开始。<br> <br> <br> <br>-------------------------------------------------------------------------------------------

 

当你有事情忙的时候,你会觉得时间过得很快 很快。可能你会感觉有点累。但这是一个人成功的历程。请坚信,我一定会好好的。bitsCN.com
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL에 저장된 절차는 무엇입니까?MySQL에 저장된 절차는 무엇입니까?May 01, 2025 am 12:27 AM

저장된 절차는 성능을 향상시키고 복잡한 작업을 단순화하기 위해 MySQL에서 사전 컴파일 된 SQL 문입니다. 1. 성능 향상 : 첫 번째 편집 후 후속 통화를 다시 컴파일 할 필요가 없습니다. 2. 보안 향상 : 권한 제어를 통해 데이터 테이블 액세스를 제한합니다. 3. 복잡한 작업 단순화 : 여러 SQL 문을 결합하여 응용 프로그램 계층 로직을 단순화합니다.

쿼리 캐싱은 MySQL에서 어떻게 작동합니까?쿼리 캐싱은 MySQL에서 어떻게 작동합니까?May 01, 2025 am 12:26 AM

MySQL 쿼리 캐시의 작동 원리는 선택 쿼리 결과를 저장하는 것이며 동일한 쿼리가 다시 실행되면 캐시 된 결과가 직접 반환됩니다. 1) 쿼리 캐시는 데이터베이스 읽기 성능을 향상시키고 해시 값을 통해 캐시 된 결과를 찾습니다. 2) MySQL 구성 파일에서 간단한 구성, query_cache_type 및 query_cache_size를 설정합니다. 3) SQL_NO_CACHE 키워드를 사용하여 특정 쿼리의 캐시를 비활성화하십시오. 4) 고주파 업데이트 환경에서 쿼리 캐시는 성능 병목 현상을 유발할 수 있으며 매개 변수의 모니터링 및 조정을 통해 사용하기 위해 최적화해야합니다.

다른 관계형 데이터베이스를 통해 MySQL을 사용하면 어떤 장점이 있습니까?다른 관계형 데이터베이스를 통해 MySQL을 사용하면 어떤 장점이 있습니까?May 01, 2025 am 12:18 AM

MySQL이 다양한 프로젝트에서 널리 사용되는 이유에는 다음이 포함됩니다. 1. 고성능 및 확장 성, 여러 스토리지 엔진을 지원합니다. 2. 사용 및 유지 관리, 간단한 구성 및 풍부한 도구; 3. 많은 지역 사회 및 타사 도구 지원을 유치하는 풍부한 생태계; 4. 여러 운영 체제에 적합한 크로스 플랫폼 지원.

MySQL에서 데이터베이스 업그레이드를 어떻게 처리합니까?MySQL에서 데이터베이스 업그레이드를 어떻게 처리합니까?Apr 30, 2025 am 12:28 AM

MySQL 데이터베이스를 업그레이드하는 단계에는 다음이 포함됩니다. 1. 데이터베이스 백업, 2. 현재 MySQL 서비스 중지, 3. 새 버전의 MySQL 설치, 4. 새 버전의 MySQL 서비스 시작, 5. 데이터베이스 복구. 업그레이드 프로세스 중에 호환성 문제가 필요하며 Perconatoolkit과 같은 고급 도구를 테스트 및 최적화에 사용할 수 있습니다.

MySQL에 사용할 수있는 다른 백업 전략은 무엇입니까?MySQL에 사용할 수있는 다른 백업 전략은 무엇입니까?Apr 30, 2025 am 12:28 AM

MySQL 백업 정책에는 논리 백업, 물리적 백업, 증분 백업, 복제 기반 백업 및 클라우드 백업이 포함됩니다. 1. 논리 백업은 MySQLDump를 사용하여 데이터베이스 구조 및 데이터를 내보내며 소규모 데이터베이스 및 버전 마이그레이션에 적합합니다. 2. 물리적 백업은 데이터 파일을 복사하여 빠르고 포괄적이지만 데이터베이스 일관성이 필요합니다. 3. 증분 백업은 이진 로깅을 사용하여 변경 사항을 기록합니다. 이는 큰 데이터베이스에 적합합니다. 4. 복제 기반 백업은 서버에서 백업하여 생산 시스템에 미치는 영향을 줄입니다. 5. AmazonRDS와 같은 클라우드 백업은 자동화 솔루션을 제공하지만 비용과 제어를 고려해야합니다. 정책을 선택할 때 데이터베이스 크기, 가동 중지 시간 허용 오차, 복구 시간 및 복구 지점 목표를 고려해야합니다.

MySQL 클러스터링이란 무엇입니까?MySQL 클러스터링이란 무엇입니까?Apr 30, 2025 am 12:28 AM

mysqlclusteringenhancesdatabaserobustness andscalabilitydaturedingdataacrossmultiplenodes.itusesthendbenginefordatareplicationandfaulttolerance, highavailability를 보장합니다

MySQL의 성능을 위해 데이터베이스 스키마 설계를 어떻게 최적화합니까?MySQL의 성능을 위해 데이터베이스 스키마 설계를 어떻게 최적화합니까?Apr 30, 2025 am 12:27 AM

MySQL에서 데이터베이스 스키마 설계 최적화는 다음 단계를 통해 성능을 향상시킬 수 있습니다. 1. 인덱스 최적화 : 공통 쿼리 열에서 인덱스 생성, 쿼리의 오버 헤드 균형 및 업데이트 삽입. 2. 표 구조 최적화 : 정규화 또는 정상화를 통한 데이터 중복성을 줄이고 액세스 효율을 향상시킵니다. 3. 데이터 유형 선택 : 스토리지 공간을 줄이기 위해 Varchar 대신 Int와 같은 적절한 데이터 유형을 사용하십시오. 4. 분할 및 하위 테이블 : 대량 데이터 볼륨의 경우 파티션 및 하위 테이블을 사용하여 데이터를 분산시켜 쿼리 및 유지 보수 효율성을 향상시킵니다.

MySQL 성능을 어떻게 최적화 할 수 있습니까?MySQL 성능을 어떻게 최적화 할 수 있습니까?Apr 30, 2025 am 12:26 AM

tooptimizemysqlperformance, followthesesteps : 1) 구현 properIndexingToSpeedUpqueries, 2) useExplaintoAnalyzeanDoptimizeQueryPerformance, 3) AdvertServerConfigUrationSettingstingslikeInnodb_buffer_pool_sizeandmax_connections, 4) uspartOflEtOflEtOflestoI

See all articles

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경