MySQLSQL语法及其使用

上传人:宝路 文档编号:47184768 上传时间:2018-06-30 格式:PPT 页数:70 大小:18.66MB
返回 下载 相关 举报
MySQLSQL语法及其使用_第1页
第1页 / 共70页
MySQLSQL语法及其使用_第2页
第2页 / 共70页
MySQLSQL语法及其使用_第3页
第3页 / 共70页
MySQLSQL语法及其使用_第4页
第4页 / 共70页
MySQLSQL语法及其使用_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《MySQLSQL语法及其使用》由会员分享,可在线阅读,更多相关《MySQLSQL语法及其使用(70页珍藏版)》请在金锄头文库上搜索。

1、MySQL SQL语法及其使用MySQL 支持的SQL语句的分类数据库的选取、创建、丢弃和变更USECREATE DATABASEDROP DATABASEALTER DATABASE数据表及索引的创建、变更和丢弃CREATE TABLEDROP TABLECREATE INDEXDROP INDEXALTER TABLE获得关于数据库和数据表的信息DESCRIBESHOW从数据表中检索信息SELECT UNION事务处理BEGINCOMMITROLLBACKSET AUTOCOMMIT对数据表里的信息进行检索DELETEINSERTLOAD DATAREPLACEUPDATE管理性语句FLU

2、SHGRANTREVOKE考试计分项目namesexstudent_id李艳平M1刘言F2张昆M3王芳芳F4student_i devent_idscore1295 2277 3591 4582 1699 2682 3679 4680event_iddatetype 12005-09- 03Q22005-09- 06Q32005-09- 09T42005-09- 16Q52005-09- 23Q62005-10- 01Tstudent数据表score数据表event数据表student_iddate22005-09-0242005-09-0622005-09-20absence数据表3.1 数

3、据库的选定、创建、丢弃和变更数据库的选定use db_name;use语句选定一个数据库并将它当作MySQL指定服务器连接上的默认 (当前)数据库。即使已经将某个数据库选定为当前的默认数据库,也可以通过db_name.tbl_name形式的名字去访问其它数据库中的数据表。select * from db_name.tbl_name;数据库的创建create database db_name数据库的丢弃drop database db_name; 数据库的变更alter database db_name default character set charset; 3.2 数据表的创建、丢弃、索

4、引和变更数据表的创建CREATE TABLE student (name VARCHAR(20) NOT NULL,sex ENUM(F,M) NOT NULL,student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,PRIMARY KEY (student_id) );CREATE TABLE score ( student_idINT UNSIGNED NOT NULL, event_id INT UNSIGNED NOT NULL, PRIMARY KEY (event_id, student_id), scoreINT NOT NULL );CR

5、EATE TABLE event ( dateDATE NOT NULL, typeENUM (T,Q) NOT NULL, event_idINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (event_id) );CREATE TABLE absence ( student_idINT UNSIGNED NOT NULL, dateDATE NOT NULL, PRIMARY KEY (student_id, date) );数据表的丢弃drop table tbl_name; 数据表的索引 MySQL能够创建以下几种类型的索引:1 普通索

6、引2 唯一化索引3 供全文本使用的FULLTEXT索引 创建索引的方法1 使用create table 语句在创建一个数据表的同时创建索引2 使用create index 语句创建索引create index index_name on tbl_name ( index_columns);create unique index index_name on tbl_name ( index_columns);create fulltext index index_name on tbl_name ( index_columns);3 使用alter table 语句将索引添加到现在的数据表上去

7、alter table tbl_name add index index_name ( index_columns);alter table tbl_name add unique index_name ( index_columns);alter table tbl_name add priamry key( index_columns);alter table tbl_name add fulltext( index_columns);索引的丢弃索引的丢弃drop index drop index index_nameindex_name on on tbl_nametbl_name; ;

8、alter table alter table tbl_nametbl_name drop index drop index index_nameindex_name; ; 变更数据表的结构重命名数据表alter table tbl_name rename to new_tbl_name;改变数据列类型alter table tbl_name modify columns columns 3.3 获取关于数据库和数据表的信息列出服务器管理着的数据库 show databases;列出当前或指定数据库里的数据表; show tables; show tables from db_name;显示有

9、关数据表中的数据列或索引信息 show columns from tbl_name; show index from tbl_name;显示关于当前数据库或指定数据库中数据表的描述信息 show table status; show table status from db_name; 显示与数据表的当前结构相对应的create table语句 show create table tbl_name;3.4 插入、删除、修改数据记录插入数据记录 可以一次性列出全部的数据 insert into tbl_name values(value1,value2,); 可以用一条insert语句将多个数据

10、行插入到数据表中去 insert into tbl_name values(),(),;可以直接对数据列进行赋值,先给出数据列的名字,再列出它的值 insert into tbl_name (col_name1,col_name2,) values(value1,value2,);删除数据记录 delete from tbl_name where where_expr;修改数据记录 update tbl_name set which columns to change where which record to update; 3.5 数据查询SELECT selcet_options sel

11、ect_list FROM tbl_list WHERE where_expr ORDER BY col_name ASC | DESC HAVING where_expr ORDER BY col_name ASC | DESC LIMIT skip_count, SHOW_COUNT 注意: (1)可以生成统计信息 (2)通配符号 _匹配单个的任意字符 %能匹配任何一个字符序列(包括空序列在内)。涉及多个数据表的查询操作SELECT语句的基本语法SELECT selection_list #选择哪些数据列FROM table_list 从哪些数据表选择数据行WHERE primary_co

12、nstraint 数据行必须满足哪些条件GROUP BY grouping_colums 如何对结果分组ORDER BY sorting_columns 如何对结果进行排序HAVING secondary_constraint 数据行必须满足的次要条件LIMIT count ; 对结果个数的限制正确写出一个查询的关键是怎样才能把个有关数据表按正确的顺序关联起来。单关联 查询只设计一个数据表 mysqlSELECT * FROM student ;全关联 在SELECT语句的FROM子句给出了多个数据表的名字 关联操作 JOIN或 “ , ”SELECT student_id,date,scor

13、e,type FROM event join score WHERE date = 20020906 AND type = QAND event.event_id = score.event_id; 结果示例SELECT student.name,event.date,score.score,event.type FROM event,score,student WHERE event.date=20020916AND event.event_id=score.event_idAND score.student_id=student.student_id; 结果示例课内练习:查询缺勤学生的姓名和缺勤次数SELECT student.student_id,student.name,count(absence.date) as absences FROM student,absence WHERE student.student_id = absence.student_id GROUP BY student.student_id;结果示例左关联(右关联)LEFT JOIN的工作情况:首先,要指定一个或多个用来匹配的两个数据表里的数据行的数据列。当左 数据表里的某个数据行与右数据表里的某个数据行相匹配时,这两个数据行的 内容将被选取为一个输出行。当左数据表里的某个数据行

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

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