mysql基础

上传人:wm****3 文档编号:43498401 上传时间:2018-06-06 格式:DOC 页数:9 大小:36KB
返回 下载 相关 举报
mysql基础_第1页
第1页 / 共9页
mysql基础_第2页
第2页 / 共9页
mysql基础_第3页
第3页 / 共9页
mysql基础_第4页
第4页 / 共9页
mysql基础_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《mysql基础》由会员分享,可在线阅读,更多相关《mysql基础(9页珍藏版)》请在金锄头文库上搜索。

1、MySQLMySQL 基础基础下载 Mysql 服务器:MySql 5.0:http:/ 安装 1:.exe 文件安装 2:解压文件,默认端口是:3306 启动:binmysqld停止:binmysqladmin -uroot shutdown下载 mysql 客户端:MysqlFront用 mysqlFront 建库、建表、建约束用 mysql 命令建库建表执行 sql登陆数据库:打开 dos 窗口mysql -u root -p mysqlmysql -uroot -p -P5188 db1 -default-character-set=gbkmysql -h192.168.1.2 -ux

2、oops_root -p654321 -P5188 asdb -default-character-set=gbk使用数据库:qu选择数据库:use jwplat;显示数据库列表:show databases;退出 mysqlquit使用表:显示库中的数据表:show tables;显示数据表的结构:describe 表名;修改口令mysqladmin -uroot -pold password newmysqladmin -uroot -p123 password “” -置空增加新用户grant select,insert,update,delete on *.* to “simon“%“

3、 Identified by “simon“;grant ALL PRIVILEGES on *.* to “simon“localhost Identified by “simon“;三建四句建库 1:create database stu; 建库 2:create database stu DEFAULT CHARACTER SET GBK ;删除表:DROP TABLE IF EXISTS t2;建表 1:create table t1( id1 int not null PRIMARY KEY AUTO_INCREMENT, d0 FLOAT, d1 DOUBLE,d2 DECIMAL

4、(10,2),c1 CHAR(10), c2 VARCHAR(100), c3 TEXT,b1 blob,birth datetime default NULL) ENGINE=InnoDB DEFAULT CHARSET=gb2312;建表 2 双主键:Create table t2(id1 int , id2 int, primary key(id1,id2);建表 3 外键约束:Create table t3(id1 int not null, CONSTRAINT fk1 FOREIGN KEY(id1) REFERENCES t1(id1) ENGINE=InnoDB DEFAULT

5、 CHARSET=gb2312;删除外键:alter table t3 DROP FOREIGN KEY fk1;添加外键:alter table t3 add constraint fk1 foreign key(id1) references t1(id1) ;导出导入数据库的表及数据mysqldump -u root -p accp c:/accp.sqlmysql accp2 c:/a.sql导出插入数据的 sqlmysqldump -t -uroot -p123 -P3306 accp c:a.sql导出导入一张表select id1,cnname,enname from i_use

6、r into outfile c:/ttt.txt fields terminated by | enclosed by “ LINES TERMINATED BY “rn“;load data infile “c:/ttt.txt“ into table i_user fields terminated by “|“ enclosed by “ (id1,cnname,enname) ;MySQL 存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM 在所有 MySQL 配置里被支持,它是默认的存储引擎

7、MEMORY 存储引擎提供“内存中”表,处理非事务表注释:MEMORY 存储引擎正式地被确定为 HEAP 引擎。InnoDB 和 BDB 存储引擎提供事务安全表。BDB 被包含在为支持它的操作系统发布的 MySQL-Max 二进制分发版里。InnoDB 也默认被包括在所有 MySQL 5.1 二进制分发版里。选择 InnoDB支持事务支持主外键分页查询,从第 x 条开始,返回 y 条mysql SELECT * FROM i_user LIMIT 5;mysql SELECT * FROM i_user LIMIT 5,10; /从第 5 查 10 条查询重复行select * from i_

8、user where pk1 not in (select max(pk1) from i_user group by id1) ;不能同时查询和改删一张表转化为无符号整形:select cast(pk1 as UNSIGNED) from i_user;从 2 开始取所有:select substring(id1,2) from i_user;MySql 在 Tomcat 中数据源配置1.在 Tomcat 5.5/conf/server.xml 的中添加: 2.在 Tomcat 5.5/webapps/test/WEB-INF/web.xml 的中添加: jndi/ds/mysql java

9、x.sql.DataSource Container 3.在 Tomcat 5.5/conf/context.xml 的中添加: 4. 将 mysql.jar 放在以下位置D:/myeclipse/tomcat5/common/lib:存放 tomcat 服务器以及所web 应用都可以访问的 JAR 文件/shared/lib:存放所有 WEB 应用都可以访问的 JAR 文件。Webapps/xxx/web-inf/lib:存放当前 web 应用可以访问的 JAR 文件。5. 编写 jsp 访问Context initCtx = new InitialContext(); Context ct

10、x = (Context) initCtx.lookup(“java:comp/env“); DataSource ds = (DataSource)ctx.lookup(“jndi/ds/mysql“);Connection conn = ds.getConnection(); out.print(“connection successful ! “+conn.getClass().getName(); 查询优化:1. 尽量比较数据类型相同的数据列。INT 与 BIGINT 是不同的。CHAR(10)等于 VARCHAR(10),但与 CHAR(12)或 VARCHAR(12)则是不同的数据

11、类型。2. 尽可能地让索引列在比较表达式中独立。如果你在函数调用或者更复杂的算术表达式条件中使用了某个数据列,MySQL 就不会使用索引,因为它必须计算出每个数据行的表达式值。3. 在 LIKE 模式的开头不要使用通配符,不要因为习惯而简单地把“%“放在字符串的两边。%在搜寻词首出现,不使用索引。4. 不能用 null 作索引,任何包含 null 值的列都将不会被包含在索引中。任何在 where 子句中使用 is null 或 is not null 的语句优化器是不允许使用索引的。5. 任何在 Order by 语句的非索引项或者有计算表达式都将降低查询速度。6. NOT 和 SHOW VA

12、RIABLES;bin SHOW VARIABLES like key_%;mysqladmin variables extended-status -h127.0.0.1 -uroot -P3306 -p status提供服务器的状态信息 bin show status; bin SHOW STATUS LIKE key_read%;bin SHOW STATUS LIKE Qcache_%;mysqladmin extended-status -h127.0.0.1 -uroot -P3306 -p statusa). myisamchk -a .dataasdb* 更新一下表中的键码分布

13、统计。b) key_buffer_size 只对 MyISAM 表起作用,指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。64M 在 256M 机器上很正常,可用内存的 30-40%,合理的值取决于索引大小、数据量以及负载。query_cache_size:从 4.0.1 开始,MySQL 提供了查询缓冲机制。使用查询缓冲,MySQL 将 SELECT 语句和查询结果存放在缓冲区中,今后对于同样的 SELECT 语句(区分大小写) ,将直接从缓冲区中读取结果。其值可为:并发数*表空间*记录数*缓冲数=8K 表空间*20条*10 用户*10 个=16M)table_cache。t

14、able_cache 指定表高速缓存的大小。每当 MySQL 访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。打开一个表的开销可能很大。它需要用到操作系统的资源以及内存。如果你有 200 多个表的话,那么设置为 1024 也许比较合适(每个线程都需要打开表) ,对于有1G 内存的机器,推荐值是 128256。e) max_connections。并发连接数目最大,100 超过这个值就会自动恢复,出了问题能自动解决 f) thread_cache。可以复用的保存中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。

15、如果有很多新的线程,为了提高性能可以这个变量值。它的目的是在通常的操作中无需创建新线程,通常至少设置为 16。g) sort_buffer_size 每个线程的排序缓存堆大小,该参数对应的分配内存是每连接独占,如果有 100 个连接,那么实际分配的总共排序缓冲区大小为 100 2 200MBh) read_buffer_size 每个线程的顺序扫描缓存堆大小,每连接独占i) join_buffer_size 联合查询操作所能使用的缓冲区大小,和sort_buffer_size 一样,该参数对应的分配内存也是每连接独享i) skip-external-locking 避免 MySQL 的外部锁定

16、,减少出错几率增强稳定性,比如文件锁。j) skip-name-resolve 禁止 MySQL 对外部连接进行 DNS 解析,使用这一选项可以消除 MySQL 进行 DNS 解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用 IP 地址方式,否则MySQL 将无法正常处理连接请求!k) back_log = 100 指定 MySQL 可能的连接数量。当 MySQL 主线程在很短的时间内接收到非常多的连接请求,该参数生效,主线程花费很短的时间检查连接并且启动一个新线程。l) skip-networking 开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式,如果 WEB 服务器是以远程连接的方式访问 MySQL 数据库服务器则不要开启该选项!否则将无法正常连接! m) interactive_timeout 服务器在关闭它前在一个交互连接上等待行动的豪秒数。一个交互的客户被定义为对 mysq

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号