ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:30.87KB ,
资源ID:16709829      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16709829.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MySql增删改查语句精.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

MySql增删改查语句精.docx

1、MySql增删改查语句精02.连接命令:mysql -h主机地址 -u用户名 -p用户密码 03.创建数据库:create database 库名 04.显示所有数据库: show databases; 05.打开数据库:use 库名 06.当前选择的库状态:SELECT DATABASE(; 07.创建数据表:CREATE TABLE 表名(字段名 字段类型(字段要求 字段参数, .; 08.显示数据表字段:describe 表名; 09.当前库数据表结构:show tables; 10.更改表格 11. ALTER TABLE 表名 ADD COLUMN 字段名 DATATYPE 12.

2、说明:增加一个栏位(没有删除某个栏位的语法。 13. ALTER TABLE 表名 ADD PRIMARY KEY (字段名 14. 说明:更改表得的定义把某个栏位设为主键。 15. ALTER TABLE 表名 DROP PRIMARY KEY (字段名 16. 说明:把主键的定义删除。 17.显示当前表字段:show columns from tablename; 18.删库:drop database 库名; 19.删表:drop table 表名; 20.数据操作 21.添加:INSERT INTO 表名 VALUES(,.顺序排列的数据; 22.查询: SELECT * FROM 表

3、名 WHERE (条件; 23.建立索引:CREATE INDEX 索引文件名 ON 表名 (字段名; 24.删除:DELETE FROM 表名 WHERE (条件; 25.修改:UPDATE 表名 SET 修改内容如name = Mary WHERE 条件; 26. 27.导入外部数据文本: 28.1.执行外部的sql脚本 29.当前数据库上执行:mysql input.sql 30.指定数据库上执行:mysql 表名 school.bbb 34. 35. 36. 37.提示:常用MySQL命令以;结束,有少量特殊命令不能加;结束,如备份数据库 38.一. 增删改查操作 39. 40.= 4

4、1.1. 增: 42.insert into 表名 values(0,测试; 43.注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0 44.insert into 表名(id,name values(0,尹当-同上 45.2.删数据: 46.delete from 表名; 47.delete from 表名 where id=1; 48.删除结构: 49.删数据库:drop database 数据库名; 50.删除表:drop table 表名; 51.删除表中的列:alter table 表名 drop column 列名; 52.3. 改: 53.修改所有:updata

5、 表名 set 列名=新的值,非数字加单引号 ; 54.带条件的修改:updata 表名 set 列名=新的值,非数字加单引号 where id=6; 55.4.查: 56.查询所有的数据:select *from 表名; 57.带条件的查询: 58.select *from 表名 where 列名=条件值; 59.Select * from 表名 where 列名 not like(like) 字符值 60.分页查询:select *from 表名 limit 每页数量 offset 偏移量; 61. 62. 63. 64.二.操作命令 65. 66.= 67.1. 查看数据库信息:show

6、 databases; 68.2.查看表信息:show tables; 69.3.查看表的结构:desc 表名 70.4. 新建数据库:create database 数据库名; 71.5.操作指定数据库:use 数据库名; 72.6.新建数据表(先use 操作库; 73.create table 表名(规范为tbl_表名 74.( 75.id int auto_increment primary key,( auto_increment为自动增长 76.name varchar(20 primary key 77.ENGINE=InnoDB DEFAULT CHARSET=gbk/支持事务和

7、设置表的编码 78.6.2添加主外键: 79.alter table 外表名 add constraint FK_名称 foreign key(外列 references 主表名(主列 80.如现有两表 主表tbl_order 子表tbl_orderdetail 现子表tbl_orderdetail的oid列引用了主表tbl_order的oid列 81.则命令如下: 82.alter table tbl_orderdetail add constraint FK_oid foreign key(oid references tbl_order(oid 83.7.导出表,备份到一个文件中,如.t

8、xt,.doc 84.cmd命令窗口:mysqldump -u 用户名 -p 需要备份的数据库名 备份的文件的保存路径和文件名 85.注:如指定的文件不存在,mysql会自动添加一个文件,此命令不能加分号结尾(文件没有备份建数据库操作) 86.8.导入数据库备份文件: 87.(1.在mysql命令窗口 88.(2.新建一个要导入的数据库(因为备份中没有备份建数据库操作 89.(3.use 当前库名 90.(4.source 备份的文件的保存路径和文件名(此命令不能加分号结尾 91. 92. 93.三:系统操作 94. 95.= 96.1. 打开服务:net start mysql(mysql为

9、配置时,可自定名称 97.2.关闭服务:net stop mysql 98.3.从cmd 模式进入mysql 99.(1.mysql -u 用户名 -p 回车输入正确密码进入欢迎 100.(2.mysql -h IP(本机localhost -u 用户名 -p 回车输入正确密码进入欢迎 101.3.退出:exit/quit; 102.4.修改用户密码:mysqladmin -u 用户名 -p password 新密码 103.5.处理中文乱码: 104.(1.在D:MySQL MySQL Server 5.0data的操作数据为文件中查看是否为以下: 105.default-character

10、-set=gbk 106.default-collation=gbk_chinese_ci 107. 108.(2.查看安装文件默认编码:D:MySQLMySQL Server 5.0mydefault-character-set=gbk 109. 110.= 111. 112. 113.启动:net start mySql; 114.进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 115.列出数据库:show databases; 116.选择数据库:use databaseName; 117.列出表格:show

11、 tables; 118.显示表格列的属性:show columns from tableName; 119.建立数据库:source fileName.txt; 120.匹配字符:可以用通配符_ 代表任何一个字符,代表任何字符串; 121.增加一个字段:alter table tabelName add column fieldName dateType; 122.增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 123.多行命令输入:注意不能将单词断开;当

12、插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中; 124.增加一个管理员帐户:grant all on *.* to userlocalhost identified by password; 125.每条语句输入完毕后要在末尾填加分号;,或者填加g也可以; 126.查询时间:select now(; 127.查询当前用户:select user(; 128.查询数据库版本:select version(; 129.查询当前使用的数据库:select database(; 130. 131.1、删除student_course数据库中的students数据表: 1

13、32.rm -f student_course/students.* 133. 134.2、备份数据库:(将数据库test备份 135.mysqldump -u root -p testc:test.txt 136.备份表格:(备份test数据库下的mytable表格 137.mysqldump -u root -p test mytablec:test.txt 138.将备份数据导入到数据库:(导回test数据库 139.mysql -u root -p test 140. 141.3、创建临时表:(建立临时表zengchao 142.create temporary table zengc

14、hao(name varchar(10; 143. 144.4、创建表是先判断表是否存在 145.create table if not exists students(; 146. 147.5、从已经有的表中复制表的结构 148.create table table2 select * from table1 where 11; 149. 150.6、复制表 151.create table table2 select * from table1; 152. 153.7、对表重新命名 154.alter table table1 rename as table2; 155. 156.8、修改

15、列的类型 157.alter table table1 modify id int unsigned;/修改列id的类型为int unsigned 158.alter table table1 change id sid int unsigned;/修改列id的名字为sid,而且把属性修改为int unsigned 159. 160.9、创建索引 161.alter table table1 add index ind_id (id; 162.create index ind_id on table1 (id; 163.create unique index ind_id on table1

16、(id;/建立唯一性索引 164. 165.10、删除索引 166.drop index idx_id on table1; 167.alter table table1 drop index ind_id; 168. 169.11、联合字符或者多个列(将列id与:和列name和=连接 170.select concat(id,:,name,= from students; 171. 172.12、limit(选出10到20条 173.select * from students order by id limit 9,10; 174. 175.13、MySQL不支持的功能 176.事务,视图

17、,外键和引用完整性,存储过程和触发器 177. 178. 179.14、MySQL会使用索引的操作符号 180.,=,=,between,in,不带%或者_开头的like 181. 182.15、使用索引的缺点 183.1减慢增删改数据的速度; 184.2)占用磁盘空间; 185.3)增加查询优 化器的负担; 186.当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案; 187. 188.16、分析索引效率 189.方法:在一般的SQL语句前加上explain; 190.分析结果的含义: 191.1)table:表名; 192.2)type:

18、连接的类型,(ALL/Range/Ref。其中ref是最理想的; 193.3)possible_keys:查询可以利用的索引名; 194.4)key:实际使用的索引; 195.5)key_len:索引中被使用部分的长度(字节); 196.6)ref:显示列名字或者const(不明白什么意思); 197.7)rows:显示MySQL认为在找到正确结果之前必须扫描的行数; 198.8)extra:MySQL的建议; 199. 200.17、使用较短的定长列 201.1)尽可能使用较短的数据类型; 202.2)尽可能使用定长数据类型; 203.a)用char代替varchar,固定长度的数据处理比变

19、长的快些; 204.b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能; 205.c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。使用固定长度的数据行,每个记录的开始位置都是固定记录长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了; 206.d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大; 207. 208.18、使用not null和enum 209.尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询; 2

20、10.如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的; 211. 212.19、使用optimize table 213.对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。 optimize table可以用于MyISAM和BDB类型的

21、数据表。实际上任何碎片整理方法都是用mysqldump来转存数据表,然后使用转存后的文件并重新建数据表; 214. 215.20、使用procedure analyse( 216.可以使用procedure analyse(显示最佳类型的建议,使用很简单,在select语句后面加上procedure analyse(就可以了;例如: 217.select * from students procedure analyse(; 218.select * from students procedure analyse(16,256; 219. 第二条语句要求procedure analyse(不要

22、建议含有多于16个值,或者含有多于256字节的enum类型,如果没有限制,输出可能会很长; 220. 221.21、使用查询缓存 222.1)查询缓存的工作方式: 223.第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返回结果;当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃。 224.2)配置缓存参数: 225.变量:query_cache _type,查询缓存的操作模式。有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开头;2:根据需要只缓存那些以select sql

23、_cache开头的查询; query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的不会被缓存。 226. 227.22、调整硬件 228.1)在机器上装更多的内存; 229.2)增加更快的硬盘以减少I/O等待时间; 230.寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快; 231.3)在不同的物理硬盘设备上重新分配磁盘活动; 232.如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。 233. 234. 235. 236. 237. 238. 239. 24

24、0.一、连接MYSQL。 241. 242.格式: mysql -h主机地址 -u用户名 p用户密码 243. 244.1、例1:连接到本机上的MYSQL。 245. 246.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql 247. 248.2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为 root,密码为abcd123。则键入以下命令: 249. 2

25、50.mysql -h110.110.110.110 -uroot -pabcd123 251. 252.(注:u与root可以不用加空格,其它也一样) 253. 254.3、退出MYSQL命令: exit (回车) 255. 256.二、修改密码。 257. 258.格式:mysqladmin -u用户名 -p旧密码 password 新密码 259. 260.1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令 261. 262.mysqladmin -uroot -password ab12 263. 264.注:因为开始时root没有密码,所以

26、-p旧密码一项就可以省略了。 265. 266.2、例2:再将root的密码改为djg345。 267. 268.mysqladmin -uroot -pab12 password djg345 269. 270.三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) 271. 272.格式:gr ant select on 数据库.* to 用户名登录主机 identified by 密码 273. 274.例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用

27、户连入MYSQL,然后键入以下命令: 275. 276.grant select,insert,update,delete on *.* to test1% Identified by abc; 277. 278.但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。 279. 280.例 2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库

28、所在的那台主机),这样用户即使用知道test2的密码,他也无法从 internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。 281. 282.grant select,insert,update,delete on mydb.* to test2localhost identified by abc; 283. 284.如果你不想test2有密码,可以再打一个命令将密码消掉。 285. 286.grant select,insert,update,delete on mydb.* to test2localhost identified by ; 287. 288.在上篇

29、我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。 289. 290.一、操作技巧 291. 292.1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。 293. 294.2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql- 3.23.27-beta-win。 295. 296.二、显示命令 2

30、97. 298.1、显示数据库列表。 299. 300.show databases; 301. 302.刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 303. 304.2、显示库中的数据表: 305. 306.use mysql; 打开库,学过FOXBASE的一定不会陌生吧 307. 308.show tables; 309. 310.3、显示数据表的结构: 311. 312.describe 表名; 313. 314.4、建库: 315. 316.create database 库名; 317

31、. 318.5、建表: 319. 320.use 库名; 321. 322.create table 表名 (字段设定列表; 323. 324.6、删库和删表: 325. 326.drop database 库名; 327. 328.drop table 表名; 329. 330.7、将表中记录清空: 331. 332.delete from 表 名; 333. 334.8、显示表中的记录: 335. 336.select * from 表名; 337. 338.三、一个建库和建表以及插入数据的实例 339. 340.drop database if exists school; /如果存在SCHOOL则删除 341. 342.create database school; /建立库SCHOOL 343. 344.use

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2