1.导出整个数据库
mysqldump -u 用户名 -p –default-character-set=latin1 数据库名 >导出的文件名(数据库默认编码是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名>导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
A:常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname <filename.sql
C:使用mysql命令
mysql -u username -p -D dbname <filename.sql
启动与退出
1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
2、退出MySQL:quit或exit
库 *** 作
1、创建数据库
命令:create database <数据库名>
例如:建立一个名为sqlroad的数据库
mysql>create database sqlroad
2、显示所有的数据库
命令:show databases (注意:最后有个s)
mysql>show databases
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 sqlroad的数据库
mysql>drop database sqlroad
4、连接数据库
命令:use <数据库名>
例如:如果sqlroad数据库存在,尝试存取它:
mysql>use sqlroad
屏幕提示:Database changed
5、查看当前使用的数据库
mysql>select database()
6、当前数据库包含的表信息:
mysql>show tables(注意:最后有个s)
表 *** 作, *** 作之前应连接某个数据库
1、建表
命令:create table <表名>( <字段名><类型>[,..<字段名n><类型n>])
mysql>create table MyClass(
>id int(4) not null primary key auto_increment,
>name char(20) not null,
>sex int(4) not null default ’′,
>degree double(16,2))
2、获取表结构
命令:desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql>desc MyClass
mysql>show columns from MyClass
3、删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql>drop table MyClass
4、插入数据
命令:insert into <表名>[( <字段名>[,..<字段名n>])] values ( 值 )[, ( 值n )]
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为的名为Tom的成绩为.45, 编号为 的名为Joan 的成绩为.99,编号为 的名为Wang 的成绩为.5.
mysql>insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59)
5、查询表中的数据
11)、查询所有行
命令:select <字段,字段,...>from <表名 >where <表达式 >
例如:查看表 MyClass 中所有数据
mysql>select * from MyClass
12)、查询前几行数据
例如:查看表 MyClass 中前行数据
mysql>select * from MyClass order by id limit 0,2
或者:
mysql>select * from MyClass limit 0,2
6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为 的记录
mysql>delete from MyClass where id=1
7、修改表中数据:
update 表名 set 字段=新值,…where 条件
mysql>update MyClass set name=’Mary’where id=1
8、在表中增加字段:
1命令:alter table 表名 add字段 类型 其他
3例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为
5mysql>alter table MyClass add passtest int(4) default ’′
9、更改表名:
命令:rename table 原表名 to 新表名
例如:在表MyClass名字更改为YouClass
mysql>rename table MyClass to YouClass
更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,’旧内容’, 新内容’)
update article set content=concat(‘’,content)
字段类型和数据库 *** 作
1.INT[(M)] 型:正常大小整数类型
2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(双精密)浮点数字类型
3.DATE 日期类型:支持的范围是-01-01到-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
5.BLOB TEXT类型,最大长度为(2^16-1)个字符。
6.VARCHAR型:变长字符串类型
7.导入数据库表
创建.sql文件
先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。
导入auction.sql文件
c:mysqlbin>mysql -u root -p auction <auction.sql。
通过以上 *** 作,就可以创建了一个数据库auction以及其中的一个表auction。
8.修改数据库
在mysql的表中增加字段:
alter table dbname add column userid int(11) not null primary key auto_increment
这样,就在表dbname中添加了一个字段userid,类型为int(11)。
9.mysql数据库的授权
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用户名@localhost
identified by ‘密码’;
如:新建一个用户帐号以便可以访问数据库,需要进行如下 *** 作:
mysql>grant usage
->ON test.*
->TO testuser@localhost
Query OK, 0 rows affected (0.15 sec)
此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test 数据库。下一步,我们必须指定testuser这个用户可以执行哪些 *** 作:
mysql>GRANT select, insert, delete,update
->ON test.*
->TO testuser@localhost
Query OK, 0 rows affected (0.00 sec)
此 *** 作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询 *** 作。现在我们结束 *** 作并退出MySQL客户程序:
mysql>exit
DDL *** 作
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql>SHOW DATABASES
2、创建一个数据库MYSQLDATA
mysql>Create DATABASE MYSQLDATA
3:选择你所创建的数据库
mysql>USE MYSQLDATA(按回车键出现Database changed 时说明 *** 作成功!)
4:查看现在的数据库中存在什么表
mysql>SHOW TABLES
5:创建一个数据库表
mysql>Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1))
6:显示表的结构:
mysql>DESCRIBE MYTABLE
7:往表中加入记录
mysql>insert into MYTABLE values (“hyq”,”M”)
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql>LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database
mysql>source d:/mysql.sql
10:删除表
mysql>drop TABLE MYTABLE
11:清空表
mysql>delete from MYTABLE
12:更新表中数据
mysql>update MYTABLE set sex=”f”where name=’hyq’
有很多朋友虽然安装好了mysql但却不知如何使用它 在这篇文章中我们就从连接MYSQL 修改密码 增加用户等方面来学习一些MYSQL的常用命令 一 连接MYSQL 格式 mysql h主机地址 u用户名-p用户密码 例 连接到本机上的MYSQL 首先在打开DOS窗口 然后进入目录 mysqlbin 再键入命令mysql uroot p 回车后提示你输密码 如果刚安装好MYSQL 超级用户root是没有密码的 故直接回车即可进入到MYSQL中了 MYSQL的提示符是 mysql>例 连接到远程主机上的MYSQL 假设远程主机的IP为 用户名为root 密码为abcd 则键入以下命令 mysql h uroot pabcd 退出MYSQL命令 exit (回车) 二 修改密码 格式 mysqladmin u用户名 p旧密码 password 新密码 例 给root加个密码ab 首先在DOS下进入目录mysqlbin 然后键入以下命令mysqladmin uroot password ab 注 因为开始时root没有密码 所以 p旧密码一项就可以省略了 例 再将root的密码改为djg mysqladmin uroot pab password djg 三 增加新用户 (注意 和上面不同 下面的因为是MYSQL环境中的命令 所以后面都带一个分号作为命令结束符)格式 grant select on 数据库 * to 用户名@登录主机 identified by 密码 例 增加一个用户test 密码为abc 让他可以在任何主机上登录 并对所有数据库有查询 插入 修改 删除的权限 首先用以root用户连入MYSQL 然后键入以下命令 grant select insert update delete on * * to test @ % Identified by abc 但例 增加的用户是十分危险的 你想如某个人知道test 的密码 那么他就可以在internet上的任何一台计算机上登录你的mysql数据库并对你的资料可以为所欲为了 解决办法见例 例 增加一个用户test 密码为abc 让他只可以在localhost上登录 并可以对数据库mydb进行查询 插入 修改 删除的 *** 作(localhost指本地主机 即MYSQL数据库所在的那台主机) 这样用户即使用知道test 的密码 他也无法从internet上直接访问数据库 只能通过MYSQL主机上的web页来访问了 grant select insert update delete on mydb * to test @localhost identified by abc 如果你不想test 有密码 可以再打一个命令将密码消掉 grant select insert update delete on mydb * to test @localhost identified by 注意 你必须首先登录到MYSQL中 以下 *** 作都是在MYSQL的提示符下进行的 而且每个命令以分号结束 四一 *** 作技巧 如果你打命令时 回车后发现忘记加分号 你无须重打一遍命令 只要打个分号回车就可以了 也就是说你可以把一个完整的命令分成几行来打 完后用分号作结束标志就OK 你可以使用光标上下键调出以前的命令 但以前我用过的一个MYSQL旧版本不支持 我现在用的是 mysql beta win 五 显示命令 显示数据库列表 show databases刚开始时才两个数据库 mysql和test mysql库很重要它里面有MYSQL的系统信息 我们改密码和新增用户 实际上就是用这个库进行 *** 作 显示库中的资料表 use mysql //打开库 学过FOXBASE的一定不会陌生吧show tables显示资料表的结构 describe 表名建库 create database 库名建表 use 库名 create table 表名 (字段设定列表) 删库和删表:drop database 库名drop table 表名 将表中记录清空 delete from 表名显示表中的记录 select * from 表名 六 一个建库和建表以及插入数据的实例 drop database if exists school//如果存在SCHOOL则删除create database school//建立库SCHOOLuse school//打开库SCHOOLcreate table teacher //建立表TEACHER(id int( ) auto_increment not null primary key name char( ) not null address varchar( ) default 深圳 year date)//建表结束//以下为插入字段insert into teacher valuess( glchengang 深圳一中 )insert into teacher valuess( jack 深圳一中 )注 在建表中( )将ID设为长度为 的数字字段:int( )并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key( )将NAME设为长度为 的字符字段( )将ADDRESS设为长度 的字符字段 而且缺省值为深圳 varchar和char有什么区别呢 只有等以后的文章再说了 ( )将YEAR设为日期字段 如果你在mysql提示符键入上面的命令也可以 但不方便调试 你可以将以上命令原样写入一个文本文件中假设为school sql 然后复制到c:下 并在DOS状态进入目录mysqlbin 然后键入以下命令 mysql uroot p密码 <c:school sql如果成功 空出一行无任何显示 如有错误 会有提示 (以上命令已经调试 你只要将//的注释去掉即可使用) 七 将文本资料转到数据库中 文本资料应符合的格式 字段资料之间用tab键隔开 null值用n来代替 例 rose 深圳二中 mike 深圳一中 数据传入命令 load data local infile 文件名 into table 表名注意 你最好将文件复制到mysqlbin目录下 并且要先用use命令打表所在的库 八 备份数据库 (命令在DOS的mysqlbin目录下执行)mysqldump opt school>school bbb注释:将数据库school备份到school bbb文件 school bbb是一个文本文件 文件名任取 打开看看你会有新发现 后记 其实MYSQL的对数据库的 *** 作与其它的SQL类数据库大同小异 您最好找本将SQL的书看看 我在这里只介绍一些基本的 其实我也就只懂这些了 呵呵 最好的MYSQL教程还是 晏子 译的 MYSQL中文参考手册 不仅免费每个相关网站都有下载 而且它是最权威的 可惜不是象 PHP 中文手册 那样是chm的格式 在查找函数命令的时候不太方便 lishixinzhi/Article/program/MySQL/201311/29306
1、《MySQL技术内幕:InnoDB存储引擎》
《MySQL技术内幕:InnoDB存储引擎》的作者是姜承尧。本书从源代码的角度深度解析了InnoDB
的体系结构、实现原理、工作机制,并给出了大量最佳实践。
2、《MySQL完全手册》
《MySQL完全手册》详细介绍了如何使用可定制的MySQL数据库管理系统支持健壮的、可靠的、任
务关键的应用程序。
3、《深入浅出mysql》
《深入浅出mysql》从数据库的基础、开发、优化、管理维护4个方面对MySQL进行了详细的介绍,
其中每一部分都独立成篇。
基础篇主要适合于MySQL的初学者,内容包括MySQL的安装与配置、SQL基础、MySQL支持的数
据类型、MySQL中的运算符、常用函数、图形化工具的使用等。
4、《 数据库索引设计与优化》
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL
支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同。
5、《高性能MySQL》
《高性能MySQL》是分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,
更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。
扩展资料:
《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL
专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。
它能为读者设计和管理高性能、高可用的数据库系统提供绝佳的指导。注重实战,全书辅有大量的
案例,可 *** 作性极强。全书首先全景式地介绍了MySQL独有的插件式存储引擎,分析了MySQL的各
种存储引擎的优势和应用环境。
参考资料:百度百科——MySQL技术内幕:InnoDB存储引擎
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)