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. 说明:增加一个栏位(没有删除某个栏位的语法。 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 [表名] 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 [表名] < input.sql 31.2.数据传入命令 load data local infile "[文件名]" into table [表名]; 32.备份数据库:(dos下 33.mysqldump -
-opt school>school.bbb 34. 35. 36. 37.提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 38.一. 增删改查操作 39. 40.================================================================================= 41.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 表名 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 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//支持事务和设置表的编码 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.导出表,备份到一个文件中,如.txt,.d命令窗口: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为配置时,可自定名称 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.0\data的操作数据为文件中查看是否为以下: 105.default-character-set=gbk 106.default-collation=gbk_chinese_ci 107. 108.(2.查看安装文件默认编码:D:\MySQL\MySQL Server 5.0>my>default-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 tables; 118.显示表格列的属性:show columns from tableName; 119.建立数据库:; 120.匹配字符:可以用通配符_
代表任何一个字符,%代表任何字符串; 121.增加一个字段:alter table tabelName add column fieldName dateType; 122.增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 123.多行命令输入:注意不能将
基本的增删改查语句单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中; 124.增加一个管理员帐户:grant all on *.* to user@localhost identified by "password"; 125.每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以; 126.查询时间:select now(; 127.查询当前用户:select user(; 128.查询数据库版本:select version(; 129.查询当前使用的数据库:select database(; 130. 131.1、删除student_course数据库中的students数据表: -f student_course/students.* 133. 134.2、备份数据库:(将数据库test备份 sqldump -u root -p test>c:\ 136.备份表格:(备份test数据库下的mytable表格 sqldump -u root -p test mytable>c:\ 138.将备份数据导入到数据库:(导回test数据库 sql -u root -p test 140. 141.3、创建临时表:(建立临时表ate temporary table zengchao(name varchar(10; 143. 144.4、创建表是先判断表是否存在 ate table if not exists students(……; 146. 147.5、从已经有的表中复制表的结构 ate table table2 select * from table1 where 1<>1; 149. 150.6、复制表 ate table table2 select * from table1; 152. 153.7、对表重新命名 154.alter table table1 rename as table2; 155. 156.8、修改列的类型 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; ate index ind_id on table1 (id; ate unique index ind_id on table1 (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条<第一个记录集的编号是0> 173.select * from students order by id limit 9,10; 174. 175.13、MySQL不支持的功能 176.事务,视图,外键和引用完整性,存储过程和触发器 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:连接的类型,(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,固定长度的数据处理比变长的快些; 204.b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能; 205.c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。使用固定长度的数据行,每个记录的开始位置都是固定记录长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了; 206.d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大; 207. 208.18、使用not null和enum 209.尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询; 210.如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的; 211. 212.19、使用optimize table 213.对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问题,这个问
题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。 optimize table可以用于MyISAM和BDB类型的数据表。实际上任何碎片整理方法都是用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.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论