数据库&SQL

数据库

常见的数据库有哪些?

1.SQL
2.Oracle
3.DB2

什么是数据库?

数据库(DATABASE)是用于储存和管理数据的仓库.

数据库的特点

1.持久化存储数据
2.方便对数据进行储存和管理
3.使用了统一的方式操作数据库-----SQL.

SQL语言

概念:结构化查询语言
	通用语法:
		1.SQL可以单行或多行书写以分号结尾
		2.用空格来增强可读性
		3.SQL不区分大小写,但建议使用大写
	分类:
		1.DDL
			数据定义语言
				用来定义数据库对象:库,表,列等
				关键字:create(创建),drop(删除),alter(改),show(查)
		2.DML
			数据操作语言
				对数据库表中的数据进行增删改操作
				关键字:insert(增),delete(删),alter(改)
		3.DQL
			数据查询语言
				对数据库表中的数据进行查询
				关键字:select(查)where(筛选)等
		4.DCL
			数据控制语言
				用来定义数据库访问权限和安全级别以及创建用户
				关键字:grant,revoke

1.DDL

数据库(DATABASE)
		1.创建
			默认创建:  create database 数据库名; 
			如果不存在再创建:  create database 数据库名 if not exists;
			标准创建:  create database 数据库名 character set 字符集(utf8);
		2.删除
			默认删除:  drop database 数据库名; 
			如果存在就删除:  drop database 数据库名 if exists;  
		3.修改
			修改字符集:  alter database 数据库名 character set 字符集(utf8);
		4.查询
			查询全部数据库:  show databases;
			查看数据库字符集:  show create database 数据库名;
		5.使用
			使用数据库:  use 数据库名;使用数据库
		    查询正在使用的数据库:	select database();
表(table)
		1.创建
			创建表:  create table 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3);
			复制表:  create table 新表名 like 被复制表名;    复制表
		2.删除
			删除表: drop table 表名; 
			若存再删除:  drop table 表名 if exists; 
		3.修改
			修改表名: alter table 表名 rename 新表名;  
			修改表的字符集: alter table 表名 character set 字符集(utf8); 
			添加新的一列:  alter table 表名 add 新列名 新数据类型; 
			修改列名及数据类型:  alter table 表名 change 列名 新列名 新数据类型; 
			修改数据类型:  alter table 表名 modify 列名 新数据类型; 
		4.查询
			 查看数据库中的所有表:  show tables;
			查询这个表的列及数据结构:  desc 表名;   

2.DML

	1.增加
	    insert into 表名 (列名1,列名2...列名n)values(值1,值2...值n);
		直接添加: insert in 表名 values(值1,值2...值3); 
		多条数据添加: insert in 表名 values(值1,值2...值3),(值1,值2...值3),(值1,值2...值3);
	2.删除
		如果不加条件将删除表中全部内容:  delete from 表名 [where条件];     
		删除表中所有的数据:  truncate table 表名;  
	3.修改
		如果不加条件将修改表中全部内容:  updata 表名 set 列名1=值1,列名2=值2[where]; 
	4.约束
		<1> not null  非空
			 添加非空约束1:  create table 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3 not null);   
			 添加非空约束2:  alter table 表名 modify 列名 数据类型 not null; 
			 删除非空约束:  alter table 表名 modify 列名 数据类型;   
		<2> unique  唯一
			 添加唯一约束1:  create table 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3 unique);   
		   	 添加唯一约束2: alter table 表名 modify 列名 数据类型 unique;
			 删除唯一约束: alter table 表名 drop index 列名 数据类型;
		<3> primary key  主键约束(非空+唯一)
			添加主键约束1:  create table 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3 primary key);    
			添加主键约束2:  alter table 表名 modify 列名 数据类型 primary key; 
			删除主键约束:alter table 表名 drop  列名 数据类型;(其实只删除了唯一,要想删除非空需要用modify再删一次)
			自增
				添加主键约束1: create table 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3 primary key auto_increment);    一般和主键一起使用
				添加主键约束2:  alter table 表名 modify 列名 数据类型 primary key auto_increment;一般和主键一起使用
				删除自增:  alter table 表名 modify 列名 数据类型primary key;   
	<4> 	foreign key 外键约束
			创建时定义:  create table 表名(列1 数据类型1,constraint [外键名称:自己随便起] foreign key 外键列 references 主表名称 主表列名 } );  
			alter table 表名 add constraint [外键名称:自己随便起] foreign key 外键列 references 主表名称 主表列名 ;

3.DQL

	1.查询
		查询表中制定列的数据:  selsct 列1.列2 from 表名;  
		 查询表中全部数据:  select*from 表名; 
	2. 聚合函数
		count()计算个数,一般为主键:如count(*)
		sum()求和
		avg()求平均值
		max()求最大值
		min()求最小值
	3.筛选
		select *from 表名 where 筛选条件;   分组前筛选
		where后面不能跟聚合函数
	4.分组
		select*from 表名 group by 按列1分组;  
		select*from 表名 group by 按列1分组 having 筛选条件;  分组后筛选
		having后可以跟聚合函数
	5.排序
		select*from 表名 order by 列1 asc升序/desc降序;  
	6.分页
		select*from 表名 limit 起始页数=(目标页数-1)*每页行数,每页几行

4.DCL

	数据控制语言
		用来定义数据库访问权限和安全级别以及创建用户
		关键字:grant,revoke
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值