mysql
来源:互联网 发布:笨马网络 编辑:程序博客网 时间:2024/06/08 11:15
1.mysql概述
数据库的定义:数据库是一种文件系统,且只能通过sql语句访问
关系型数据库:关系型数据库存储的是实体的信息与实体与实体之间的联系
常用的关系型数据库有:
mysql 小型数据库,oracle
oracle 大型数据库,oracle
SQLServer 中型数据库,微软
DB2 大型数据库,IBM
SyBase 已被淘汰
SqLite 小型数据库,嵌入式
2.Sql
定义:结构化查询语言
特点:非过程性语言:一条语句就会有一个运行结果
分类:
DDL:数据定义语言
create Database ** character set ** collate
create table ** (
sname int,
sage varchar(32)
)
alter database olddatabase newdatabase character set *** collate
DML:数据操纵语言
insert into tableName(*,*,*) Values(*,*,*)
update tableName set columnName=* where
delete from tableName where
DCL:数据控制语言
grant,if
DQL:数据查询语言
select
3.操作数据库语法
创建数据库
create database db3 character set utf8 collate utf8_bin;
查看数据库
show databases();
查看当前数据库的使用信息;
select();
查看数据库的创建信息
show create database ***;
删除数据库
DROP DATABASE **;
修改数据库的属性
ALTER DATABASE stdb CHARACTER SET utf8 COLLATE utf8_bin;
使用数据库
use ***;
4.操作表
创建表:
create table *** (
name varchar(32),
age int
)
修改表名:
RENAME TABLE student TO sstudent
查看所有表:
show tables;
查看表结构:
desc ***;
表的删除:
drop table ***;
删除表,又重新建
trancate table ***;
修改表的列名:
ALTER TABLE student CHANGE sid ssid INT(11); ;
修改表的列的数据类型
ALTER TABLE student MODIFY ssid VARCHAR(11);
删除表的列
ALTER TABLE student DELETE ssid VARCHAR(11);
添加外键:
ALTER TABLE sstudent ADD FOREIGN KEY(uid) REFERENCES userinfo(uid)
约束:
primary key 主键(默认唯一,非空)
unique 唯一
not null 非空
5.操作表数据
插入数据:
insert into *** (**,**) values (**,**)
删除数据:
delete from ** where **
更新数据
update *** set **=** where
查询表数据
select * from **
6.其它标识符
条件关键字
= , > , >= , < , <= , <>
like中可以使用占位符:
_ :匹配一个字符
% :匹配多个字符
in的使用:
**.cid in (select cid from **)
条件关键词
and or not
not in
not null
排序关键词
order by :
默认升序
desc 降序
asc 升序
聚合函数
count() 一般配合group by 使用,查询的分组后的每个组的记录数
sum()
max()
min()
avg()
group by 分组
7.数据库的多表设计
一对多
多的一方持有单一的一方的主键作为外键
多对多
建立一张第三方的表,分别持有两张表的主键作为外键
一对一
有两种方式进行关联
主键对应:主键一一相对应
唯一外键对应:一方持有另一方的主键作为外键,且设置为唯一
8.多表查询sql
交叉连接:
select * from A,B 获取的是两个集合的笛卡尔集
内连接: 获取的是两个表之间满足查询条件的交集
显示内连接: inner join inner可以省略
select * from A inner join B on A.cid = B.cid
隐式内连接:
select * from A,B where A.cid = B.cid
外连接:
左外连接: 获取的是左边表的全部和满足查询条件的两张表的交集
left outer join
select * from A left outer join B on A.cid = B.cid
右外连接: 获取的是右表的全部与满足查询条件的两张表的交集
SELECT * FROM department RIGHT OUTER JOIN class ON department.did = class.did
子查询
select * from student where cid in (select cid from class)
阅读全文
0 0
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- mysql
- mysql
- Mysql
- Mysql
- mysql
- MySQL
- mysql
- Mysql
- mysql
- mysql
- mysql
- mySQL
- 选择结构程序设计
- 静态链接库和动态链接库使用总结(3)
- latex 编译生成的 PDF 中字体有锯齿
- springcloud学习(三)之Ribbon
- java_集合_总结
- mysql
- 简易飞秋制作
- CSS-制作左侧菜单
- 索罗斯狙击泰铢挣钱原理
- LeetCode 307 Range Sum Query
- es既想包含查询,又想精确查询
- linux 文件解压命令
- 动态开辟文件版通讯录
- 集训网络流小小总结