--------------------------------
创建数据库:
create database dbname
显示数据库
Show databases
--------------------------------
选择数据库: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
分享到:
相关推荐
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)进行数据操作。MySQL因其高效、稳定和易于管理的特点,在Web应用程序开发中扮演着至关重要的角色。以下是一些关于MySQL学习的...
mysql 初学者,或者想提升一点点的朋友们
MySQL学习笔记 本篇笔记对MySQL数据库进行了详细的介绍,涵盖了数据库的基本概念、关系型数据库的特点、SQL语言的介绍、MySQL数据库的架构、服务器对象的结构、基本操作等方面。 数据库的基本概念 数据库是存储...
【MySQL 索引详解】 数据库索引是数据库管理系统中至关重要的组成部分,它如同书籍的目录,能够极大地提高数据检索的效率。索引是一种特殊的数据结构,它将表中的数据进行排序,使得在大量数据中查找特定记录时,...
这是我在刚刚学mysql基础过程中总结的函数,现在的我学了一年了,适用于刚开始接触mysql,大家加油,里面也许也存在一点点错误,请大家多多包涵,谢谢。
露娜様:好好学习,天天向上 归纳整理了蛮大一部分的学习笔记,很多方向都有,很多都浅尝辄止。 大方向 包含的小版块 学习程度 前端方向 前端基础,Angularjs,Vue,React,前端工程化,CSS预先 ...一点点
Python爬虫技术是一种用于自动化网络数据获取的编程技术,它在大数据分析、网站维护、市场研究等领域具有广泛应用。本课程由“路飞学城樵夫”老师指导,通过实际操作帮助学习者掌握Python爬虫的基本原理和实战技巧。...
在IT行业中,笔记是一种非常重要的学习和工作工具,它可以帮助我们整理、记录并回顾各种技术知识和经验。在这个“笔记”文件中,很显然包含了作者关于IT领域的学习和实践经验。虽然具体的标签没有给出,但我们可以从...
笔记: 请记住将config.py和main,py acc中的主机名,用户和密码更改为您的mysql服务器。 要求 python3.0或更高 mysql.connector 安装 点安装myql.connector 如何使用: 首先运行database-config.py,然后运行...
"jem实习时候的点点滴滴"这个标题和描述可能是指某人在jem项目或公司实习的经历,而标签也重复了这一主题。虽然没有提供具体的技术细节,我们可以从一般的角度探讨在IT实习期间可能涉及的一些关键知识点。 首先,...
在描述中提到,“这是Udacity的全栈纳米学位计划的公共资源库”,这意味着这个压缩包可能包含了一系列的学习资源,如课程笔记、代码示例、练习项目、教学视频等。这些资料是公开的,可供学生和自学者参考和使用,以...