MySql数据库基本操作

上传人:我*** 文档编号:136424371 上传时间:2020-06-28 格式:PPT 页数:39 大小:220.50KB
返回 下载 相关 举报
MySql数据库基本操作_第1页
第1页 / 共39页
MySql数据库基本操作_第2页
第2页 / 共39页
MySql数据库基本操作_第3页
第3页 / 共39页
MySql数据库基本操作_第4页
第4页 / 共39页
MySql数据库基本操作_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《MySql数据库基本操作》由会员分享,可在线阅读,更多相关《MySql数据库基本操作(39页珍藏版)》请在金锄头文库上搜索。

1、SQL语法组成,DML( Data Manipulation Language数据操作语言) 查询、插入、删除和修改数据库中的数据; SELECT、INSERT、 UPDATE 、DELETE等; DCL( Data Control Language数据控制语言) 用来控制存取许可、存取权限等; GRANT、REVOKE 等; DDL( Data Definition Language数据定义语言) 用来建立数据库、数据库对象和定义其列 CREATE TABLE 、DROP TABLE、ALTER TABLE 等 功能函数 日期函数、数学函数、字符函数、系统函数等,显示表结构操作,语法:des

2、cribe 表名; desc 表名; 叙述:用于显示表的创建结构。,删除数据库或表操作,删除表操作 语法:drop table if exists tab_name ,tab_name. 叙述:从数据库中删除给定的表。如果给出if exists 子句,则删除不存在的表不会出错。 删除数据库操作 语法:drop database if exists db_name 叙述:删除给定的数据库。在删除一个数据库后,它就永远没有了,因此要特别小心。如果给出if exists 子句,则删除不存在的数据库不会出错。,更改表结构操作,语法:alter table 表名 action; 说明:action 可以

3、是如下语句: add 列名 建表语句 first | after 列名 可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列 add primary key (列名) 为表添加一个主键,如果主键已经存在,则出现错误 add foreign key(列名) references 表名(列名) 为表添加一个外键 alter 列名 set default 默认值 可以更改指定列默认值,change 旧列名 新列名 first | after 列名 可以更改列类型和列名称,如果原列的名字和新列的名字相同 modify 列名 first | after 列名 和c

4、hange的作用相同 drop 列名 /可以删除一列 drop primary key /可以删除主键 engine 类型名 /可以改变表类型 rename as 新表名 /可以将表名更改,举例1: 向people表中添加字段address2,类型为varchar,最大长度为100 alter table people add address2 varchar(100); 举例2: 将people表中的name列默认值改为100: alter table people alter name set default 100; 举例3: 向student表增加“入学时间”列,其数据类型为日期型。

5、alter table student add scome date; 注:无论基本表中原来是否已有数据,新增加的列一律为空值。 举例4: 将年龄的数据类型改为半字长整数。 alter table student modify sage smallint; 注:修改原有的列定义有可能会破坏已有数据,插入记录操作,语法: 叙述: 如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应该用 或“ ”引号括起来 举例1:向people表中添加一条记录: insert into people(name,age) values(“zhangsan”,20);,INSERT INTO 列名 V

6、ALUES ,插入案例,创建一张学生信息表,往表中插入数据 create table students( scode int not null auto_increment, sname varchar(20) not null, saddress varchar(20) default未知, sgrade int, semail varchar(20), ssex bit, primary key(scode) );,插入数据行 1,注意事项1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;,插入数据行 2,注意事项2:每个数据值的数

7、据类型、精度和小数位数必须与相应的列匹配;,插入数据行3,注意事项4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据;,插入数据行4,注意事项6:具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值,INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁,DEFAULT,6,ZQCS,0),插入多行数据,INSERT INTO (列名) VALUES(), (), () ,插入多行数据,INSERT INTO (列名) SELECT FROM ,学生、课程、成绩插入数据,学生信息 950

8、01,洛燕妮,女,20,信息系 95002,欧阳炎,男,19,计算机系 95003,何东升,男,21,美术系 95004,刘晨,男,18,计算机系 95005,沙明华,女,21,美术系 95006,欧阳宝宝,男,19,美术系 课程信息 1,JAVA 2,C 3,.NET 成绩信息 95001,1,98 95002,1,50 95004,1,70 95003,4,95 95005,4,40 95006,4,77 95001,2,80 95002,3,58 95006,2,70,更改记录操作,语法: 叙述: where 子句是判断语句,用来设定条件,限制只更新匹配的行,如果不带where子句,则更

9、新所有行数据。 举例: 将student表中的所有学生名称为Alex的改为Tom: update student set sname=Tom where sname=Alex;,UPDATE SET WHERE ,更新数据行,删除记录操作,语法: 叙述:此语句删除表中的行,如果不带where子句,则删除整个表中的记录,但是表不被删除。 举例: 删除student表中的所有年龄小于18岁的记录: delete from student where sage18;,DELETE FROM WHERE ,补充说明,删除学生编号为95005的学生信息包括成绩信息 delete from student

10、,sc using student,sc where student.sno = sc.studentid and student.sno=95005; 说明: 表和字段的引用方式有两种:绝对引用和相对引用 绝对引用:数据库名.表名(.字段名) 相对引用:表名.(字段名),总结:常用数据类型,MySQL数据类型,数据类型种类 数值列类型 字符串列类型 日期和时间列类型,数据类型种类,数值型 分为整型和浮点型 整型: 可以由十进制和十六进制表示 整数由数字序列组成,如:1,100。 由十六进制表示方法:0 x且后面加19和 AF 的任意数字或字母,并且0 x中的X不 能大写。 浮点型: 浮点数由

11、一个数字加一个小数点再加上一 个数字组成。两个数字序列不能同时为空。,字符串: 由单引号或者双引号括起来的字符或者数字。 如:”abc”,abc10 字符串中要用转义字符才能表示的特殊符号,日期和时间值 是存储如“2005 -1-1” 或者“12:00:00”这样的数值的值。在MySQL中日期是按”年-月-日”的顺序。 NULL值 是一种无类型的值,表示“空,什么也没有”。,数值列类型,MySQL为除了NULL值外的所有通用数据类型提供了列类型。列类型是一种手段,通过这种手段可以描述表的列可以包含什么样类型的值。 数值列类型 所有数值列类型的类型名及其说明和所占的字节数见下表:,数值列类型包括

12、整型和浮点型 说明:TINYINT, SAMLLINT, MEDIUMINT, INT, BIGINT每个数据类型的取值范围不同,故分别可以表示不同的数值范围。在定义整型列时,可以指定可选的显示尺寸M(见上表),M是从1到255的值,它表示显示列中值的字符数。,例如:INT(4) 意思是指定了一个具有4个字符显示宽度的INT列。如果定义了一个没有明确宽度的整数列,则会分配缺省的宽度,缺省值为每种类型的最长值的长度。 对于每种浮点型,可指定一个最大的显示尺寸M和小数位数D,M的取值应该是0-30,但小于M-2。M和D对于DECIMAL是必须的。,AUTO_INCREMENT 自动标识列,在需要产

13、生唯一标志符号或者顺序值时候,可用此属性。值一般从1开始,每行增加1,在插入NULL到一个AUTO_INCREMENT列时,MySQL会插入一个比该列中当前最大值大1 的值,一个表中最多能有一个有此属性的列。对于想使用此属性的列应该定义为NOT NULL,并定义为PRIMARY KEY 或者定义为UNIQUE键。 举例: create table t(id int auto_increment not null primary key); UNSIGNED 无符号,此属性禁用负值,将数值的取值范围从零开始。 举例: create table t(num tinyint , num2 tinyi

14、nt unsigned);,数值列的完整性约束,NULL和NOT NULL 默认为NULL,即插入值时没有在此字段插入值时自动填NULL,如果指定了NOT NULL,则必须在插入值时在此字段添入值,不允许插入NULL值。 DEFAULT 可以通过此属性来指定一个缺省值,即如果没有在此列添加值,那么默认添加DEFAULT后指定值。 ZEROFILL 前导零填充数值类型值以达到列的显示宽度。 举例: create table test2(num1 int default 1,num2 int zerofill);,字符串列类型 所有字符串列类型及其说明和所占的字节数见下表:,说明: 对于可变长的字

15、符串类型,其长度取决于实际存放在列中的值的长度。此长度在上表中用L来表示。附加若干额外字节,用来记录字符串长度,也就是说总长度等于Ln(n1、2、3、4、8),CHAR和VARCHAR类型 CHAR类型和VARCHAR类型长度范围都是0255之间的大小。他们之间的差别在于MySQL处理存储的方式: CHAR把这个大小视为值的准确大小(用空格填补比较短的值)。 VARCHAR类型把它视为最大值并且只使用了存储字符串实际上需要的字节数(增加了一个额外的字节记录长度)。因而,较短的值当被插入一个语句为VARCHAR类型的字段时,将不会用空格填补(然而,较长的值仍然被截短 )。,BLOB和TEXT类型 BLOB是二进制大对象,如果想存储二进制数BLOB将是最佳选择,而TEXT与之相同,只是BOLOB按照二进制编码排序(区分大小写),TEXT按照字符文本模式排序(不区分大小写)。 ENUM 和SET类型 是特殊的串类型,其列值必须从固定的串集中选择,二者差别为前者必须是只能选择其中的一个值,而后者可以多选。(不推荐使用),字符串列类型的可选属性 BINARY 使用此属性可以使列值作为二进制串处理,即看成BLOB类型。 NULL 和NOT NULL 同数值型功能相同 DEFAULT 同数值型功能相同,日期和时间列类型 所有时间和日期列类型的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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