前题诗您已经安装了mysql哦!!!:0)1
--------------------------------
创建数据库:
create database dbname
--------------------------------
选择数据库:use dbname
--------------------------------
删除数据库:drop database dbname
--------------------------------
表的创建、复制、删除、和修改
1、创建表:create table tname 字段名 字段类型 字段约束
字段类型有:
int:整形数
double :双精度浮点数
char :最大长度不超过255个字符的定长字符串
varchar :最大长度不超过255个字符的变长字符串
text :最大长度为65535的字符串
blob :可变数据的二进制类型
date :YYYYMMDD格式表示的日期值
字段约束
1、null or not null指定允许(或不允许)某字段为空,默认为null
2、default 为某字段指定一个默认值
3、auto_increment 自动为某个int字段生成一个递增加1的整数
表级约束
1、primary key:为表指定主键
2、foreign key:为表指定外键
3、index:创建索引
4、unique:为某个字段建立索引,该字段的值必须惟一
5、fulltext:为某个字段建立全文索引
表类型
1、myisam:具有很多优化和增强的特性,是mysql默认的表类型
2、isam:类似myisam,但是功能较少
3、heap:保存在内存中,存取速度快,但存储容量较小,一旦失败就无法恢复
4、bdb:支持事物和页锁定
5、innodb:支持事物、外键和行锁定,它是mysql中最完善的表格式
6、merge:可把多个myisam表构建为一个虚拟表,使得对这些表的查询仿佛在一个表上进行,提高了查询速度和修复效率,并节省了磁盘空间。
------------------------------------------
describe tname 查看所创建表的结构。
注意1、mysql默认将表中第一个字段设为 主键(不变的、惟一的标识符)
2、mysql默认表的类型为myisam
------------------------------------------
复制表
create 新表名 like 源表名;
show tables(显示当前数据库中所有的表)
------------------------------------------
删除表
drop table 表名称
------------------------------------------
修改表
alter table 表名称 更改动作1,更改动作2???
1、增加字段:
例:在表 xtable 中增加一个字段 saddress
alter table xtable add saddress varchar(25);
2、更改字段名和字段类型:
例:将表xtable中字段saddress名称改为sremark
alter table xtable change saddress sremark varchar(25)
注意,即使仅仅改变xtable中的字段名称而不改变字段类型,change子句后也必须给出该字段的字段类型
3、删除字段:
例:要删除表xtable中的字段sremark
(命令)alter table xtable drop sremark;
4、更改表名称:
例:将student表的名称更改为xs
(命令)alter table student rename to xs;
-----------------------------------------------
表中数据的插入、删除和修改
1、插入记录
在mysql中插入记录
例:在表student中插入一组数据
命令:insert into student (字段名1,字段名2???) values(字段1的值,字段2的值,???)
需要注意的几个问题:
@1:如果在insert语句中给出了要插入记录的各个字段名,那么各字段值的顺序只需与各个字段名的顺序相一致,与表中的顺序(可以用describe命令查看)可以不同。但是当使用缩写格式时,各字段值的顺序则必须与表中的顺序相一致。
在插入与前面相同的记录,可以直接使用insert into student values (字段1的值,字段2的值???)
@2:如果字段名列表中没有给出表中的某些字段,当然在字段值列表中也不应给出这些字段的值,那么这些字段的值将会自动设置为默认值。
@3:在一个单独的insert语句中使用多个values子句,可插入多条记录。
2、删除记录
(命令):delete from 表名称 where 条件表达式
例:删除表student中,sno字段,值为‘0321002’的记录
delete from student where sno=‘0321002’;
使用带where子句的delete语句可以删除与制定条件相匹配的记录。只要满足条件,被删除的记录可能只有一条,也可能有多条。
例:从表student中删除sno字段值的前4位为‘0322’的所有记录。
可以使用:delete from student where left(sno,4)=‘0322’
此外如果想删除表中所有记录,则可以不带where子句的delete命令。
(命令):delete from student;
另外一种删除表中所有记录的方法是使用truncate命令
(命令):truncate table student;
相比之下truncate命令比delete命令要快,特别是在表中记录非常多时尤为明显。
3、修改记录
(命令):update 表名称 set 字段1=字段1值,字段2=字段2值??? where 条件表达式;
例:要修改表student中的sno字段值为‘0321002’的记录,将其sbirthday字段值改为19871112、sdepa字段值改为‘math’。
(命令):update student set sbirthday=19871112,sdepa=‘math’ where sno=‘0321002’;
小心!
使用时千万不要忘掉使用where限制语句,否则可能会发生严重后果。
-----------------------------------------------
索引的创建与删除
1、在创建表的同时创建索引
在使用create table 语句创建表student时,使用primary key 子句为该表指定了一个主键sno,mysql就会自动为该表的sno字段创建索引。此外,在创建表时,还可以用index子句或unique子句来创建索引。
例:要创建一个选课课程表course,将课程编号cno字段定义为主键,同时为课程名称cname字段创建一个名为cna的索引。
(命令):create table cource(
->cno varchar (5) not null,
->cname varchar (30) not null,
->teacher varchar (20),
->primary key (cno),
->index cna (cname)
->);
此外如果将index cna (cname)改为unique(cname),则创建的是unique索引,该索引要求索引字段中的值必须是唯一的。也就是说,表中各条记录中该字段的值不能相同。
2、向已存在的表添加索引
使用create index语句:
create (unique)or index 索引名 on 表名称 (字段名1(长度));
例:
要为表student的sname字段创建名为sna的索引。
(命令)create index sna on student (sname);
对于类型为char和varchar的字段,建立索引时还可以指定索引长度值(对于类型为blob和textd的字段,索引长度值是必须指定的)。
例如:(命令)create index sna on student (sname(10));
3、删除索引
(命令)drop index 索引名 on 表名;
例:要删除表student中索引名为sna的索引,可以使用如下命令。
(命令):drop index sna on student
----------------------------------------
that's up
thank you !!!:0ww)vu(1
guaiwawa09 于 2014-05-06 13:43:09发表:
已收藏,谢谢 特别实用
gsf526 于 2014-03-22 10:28:09发表:
学习了,看了一下比较不错。
linuxydy 于 2011-10-30 14:59:54发表:
mysql权威指南
hbsmg 于 2011-10-15 09:59:29发表:
楼主辛苦了
looken8080 于 2011-10-09 22:46:57发表:
楼主V5
jhasheng 于 2011-09-28 15:49:04发表:
我是新手,学习了
jhasheng 于 2011-09-28 15:49:01发表:
我是新手,学习了
抬头滴汗 于 2011-09-13 14:29:22发表:
好哈哈哦
抬头滴汗 于 2011-09-13 14:27:59发表:
有用
synw 于 2011-08-15 12:24:29发表:
基础中的基础,学习了
5269 于 2011-08-14 08:52:01发表:
收下、谢了!
lxy811026 于 2011-08-11 10:26:05发表:
看看!!!
dongyichen 于 2011-08-05 08:29:43发表:
支持下~
sujinqing 于 2011-08-04 17:37:10发表:
辛苦
dongyichen 于 2011-08-04 14:22:03发表:
支持~
里宁科斯 于 2011-02-24 10:07:28发表:
支持一下
bone0528 于 2011-01-18 10:55:15发表:
(()):sLZ辛苦了~ LZ万岁~~
sbso 于 2010-11-08 23:31:24发表:
看了先。。。
ashui_1118 于 2010-10-28 16:37:48发表:
谢谢拉
xbonline 于 2010-09-28 22:58:30发表:
不容易,好,支持。我只学过Fox
kinfinger 于 2010-09-25 12:11:11发表:
很入门啊
logybug 于 2010-09-20 17:55:55发表:
谢谢楼主的分享。很有用
yoohuu 于 2010-09-20 11:15:12发表:
顶你
蓝天寒 于 2010-09-18 12:00:49发表:
不错哦
小小Mavis 于 2010-09-08 16:01:50发表:
支持一下!
wurr707 于 2010-09-08 10:55:32发表:
总结的不错
eclipse101 于 2010-09-07 11:01:11发表:
呵呵 一起学习
yanlong938 于 2010-08-03 23:55:56发表:
写的很好 希望有好的内容继续上传啊
jyhp 于 2010-06-10 00:26:30发表:
顶下
天真花语 于 2010-06-08 18:27:41发表:
大家共同学习交流啊
天真花语 于 2010-06-08 18:27:17发表:
QQ:610690937
加我QQ啊
天真花语 于 2010-06-08 18:26:27发表:
呵呵呵呵
.....................
feng1314 于 2010-04-26 17:07:39发表:
不错,辛苦了。
wangchengming12 于 2010-04-25 10:56:10发表:
楼主是不语文没学好啊?
qiwenqiu 于 2010-04-13 08:56:22发表:
嗯,我复制了一份了。
lihongniu 于 2010-04-12 14:04:00发表:
支持 写的很不错!
stop_lian 于 2010-04-07 14:52:58发表:
看了先。。。
herofeng 于 2010-04-04 13:25:15发表:
谢谢分享!
panda6401 于 2010-02-03 12:00:03发表:
辛苦了
panda6401 于 2010-02-03 11:33:04发表:
还是很有用的