首页 >数据库 >mysql教程 >MySQL 数据库笔记_MySQL

MySQL 数据库笔记_MySQL

WBOY
WBOY原创
2016-05-27 14:30:00973浏览

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