首页 / MYSQL / MySQL数据库基础
MySQL数据库基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL数据库基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4854字,纯文字阅读大概需要7分钟。
内容图文
![MySQL数据库基础](/upload/InfoBanner/zyjiaocheng/858/4b6c3047a5eb4ed7b75159376f061b1a.jpg)
数据库的创建
CREATE DATABASE 数据库名称
表的创建
CREATE TABLE 表名称
(
-- not null 设置非空
列名称1 数据类型 not null,
列名称2 数据类型,
.......
--设置主键
constraint PK_Reader_ID primary key (Reader_id)
)
设置约束
1.设置外键约束
alter table 表A add constraint FK_B(外键缩写FK_...) foreign key (列名) references 表B(列名)
示例:
alter table Readers
add foreign key(Type_id) references ReadersType(Type_id)
2.设置默认约束
alter table 表名 add constraint 约束名 default 默认值 for 列名
示例:
alter table Readers
add constraint df_Type_id default 2 for Type_id
3.设置字段值的条件约束
alter table 表名 add 字段名 数据类型 constraint 约束名 check(约束条件)
示例:
alter table Books
add BookNum Tinyint constraint CK_BookNum check(BookNum>=0)
插入数据
1.插入全部字段名的值
insert into 表名 values(数据,数据,数据,.....)
示例:
insert into Readers values (2013010010,'张会悦',2,'医学系',null,'女','1994-02-20')
2.插入部分数据
insert into 表明 (列名,列名,..) values (数据,数据,...)
示例:
insert into stuinfo(sid,sname,sclass) values (3,'码仙3',1003);
3.插入多条数据
insert into 表名(列名,列名...) values (列值,列值,..),(列值,列值,..),(列值,列值,...),....
示例:
INSERT INTO
items(name,city,price,number,picture)
VALUES
('耐克运动鞋','广州',500,1000,'003.jpg'),
('耐克运动鞋2','广州2',500,1000,'002.jpg');
修改值
update 表名 set 列名=新的字面值 where 条件
注意:不添加条件会更改该列的全部值
示例:
update ReadersType set BorrowTerm=45 where Type_Name='其他'
删除数据
delete from 表名 where 条件
注意:不添加条件会删除整张表
示例:
delete from Books where Author='高玉祥'
查询数据
1.查询全张表数据
select * from 表名
2.查询全表指定条件的数据
select * from 表名 where 条件
示例:
select * from Readers where Reader_id=20088702
3.查询显示指定列满足指定条件的数据
select 列名,列名,... from 表名 where 条件
示例:
select Book_Name,Author,publishedDate,price from Books where publisher='清华大学出版社'
4.模糊查询
select * from 表名 where 列名 like 数据
示例:
select * from Books where BooK_Name like '%数据库%'
5.查询数据并排序
desc:降序
asc:升序
select * from 表名 order by 列名 desc
示例:
select * from Books order by PublishedDate desc
select * from 表名 order by 列名 asc(不写默认升序)
示例:
select * from Books order by PublishedDate asc
select * from Books order by PublishedDate
6.查询并显示前n行数据
select top n * from 表名 order by 列名 desc
示例:
--查询降序,并显示前三行数据
select top 3 * from Books order by PublishedDate desc
7.查询并更改列名显示
as 或者 空格 或者 =
select 列名 as 新列名,列名 as 新列名,...... from 表名
示例:
select BookNum as '图书总量' from Books
8.将查询的数据存入新表中
1.表不存在
select * into 新表名 from 表名 where 条件
示例:
select * into bookstsinghua from Books where publisher='清华大学出版社'
select (字段1,字段2,...) into b from a
2.表存在
如果两表字段相同
--b表存在(两表结构一样)
insert into b select * from a
若两表只是有部分(字段)相同,则
insert into b(col1,col2,col3,col4,...) select col1,col2,col3,col4,... from a where...
9.sum函数
sum(列名或者数据) 求和函数
将某张表的某列不同数据统计并显示
--将Readers表中的Department列不同系部的读者人数显示
select Department as 系部,sum(1) as '读者人数' from Readers group by Department
--查询每年借出的图书数量。(按year(BorrowDate)分类)
select datepart(yyyy,BorrowDate) as '年份',sum(1) as '图书数量' from Borrow group by datepart(yyyy,BorrowDate)
10.group by
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
11.跨表查询
同一数据库
方法1:
---Books,Borrow,Readers 三张表 Borrow.Book_Id=Books.Book_id and Borrow.Reader_Id=Readers.Reader_id 为主外键
select Books.BooK_Name as '图书名称',Books.Author as '作者',Books.PublishedDate as '出版日期',Readers.Reader_id as '读者编号',Borrow.BorrowDate as '借阅日期',Borrow.ReturnDate as '归还日期'
from Books,Readers,Borrow where Author='李志鸿' and
Borrow.Book_Id=Books.Book_id and Borrow.Reader_Id=Readers.Reader_id
方法2:
--使用join关键字连接两张表 一对多
SELECT * FROM student
INNER JOIN class on student.stu_classes = class.id AND class.class_name = '1804'
--使用join关键字连接两张表加中间表 多对多
SELECT * FROM teacher
INNER JOIN cla_teacher ON cla_teacher.teacher_id = teacher.id
INNER JOIN class ON class.id = cla_teacher.class_id and class.class_name = '1804'
12.UNION 和 UNION ALL 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
内容总结
以上是互联网集市为您收集整理的MySQL数据库基础全部内容,希望文章能够帮你解决MySQL数据库基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。