Mysql之数据库、表的sql命令

数据库简介
数据库(Database):是用来存储数据的(按照一定的数据结构存储数据的仓库)
数据库管理系统(DBMS——Database manager system):操纵和管理数据库的软件(Mysql、oracle、sql server)
DBMS分类
1、 关系型数据库管理系统(RDBMS)

采用关系模型管理数据。采用二维表格的形式(很像Excel表格的形式)来简化数据关系实现对数据的管理
常见的系统有:oracle、MySQL、sql server、DB2、mariaDB等

2、非关系型数据库管理系统(Nosql)

弥补关系型数据库在搞IO高可用方面的局限性
常见系统有:redis(主要做缓存使用,可以快速的建立缓存);hbase(列族数据库);mongodb(主要做文档型
的数据库);meo4j(主要做图数据库,在社交网络这一块运用较广)

Mysql数据库管理系统

  1. 初识MySQL
    Mysql是一个关系型数据库管理系统
    MySQL采用关系模型对数据进行管理,采用分表的形式管理,对多张表存在的情况下,可以采用分库的形式进行管理
    MySQL数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表
  2. 有点
    体积小、速度快、开源免费,支持GPL(开元许可证)协议4 neo4j
    主要作图数据库,是社交网络运用较广的

SQL介绍
Structure Query Language 结构化查询语言,是关系型数据库中进行操作的标准语言
特点:对大小写不敏感,结尾要使用分号;
SQL分类

  1. DDL:数据定义语言(数据库对象的操作,结构)
    数据库对象:数据库、表、视图、索引;create/alter/drop
  2. DML:数据操纵语言(对数据库对象中的数据的操作 增删改查)
    insert/update/delete/select
  3. DCL:数据控制语言(授权、取消授权)
    grant/revoke
  4. TCL:事务控制语言(对事物进行控制)transaction
    commit/rolback

DDL数据定义语言

  1. 数据库database
    语法:create database 数据库名;
    销毁数据库:drop database 数据库名;
  2. 表 table
    1》创建表语法:create table 表名 (
    字段1 类型 【约束】,
    字段2 类型 【约束】,
    …)
    eg:CREATE TABLE userinfo(
    username VARCHAR(20),
    pwd VARCHAR(50),
    tel VARCHAR(15),
    email VARCHAR(20)
    );
    2》删除表语法:drop table 表名;
    3》修改表语法(对表中字段进行添加add、修改change/modify、删除drop的操作):alter 表名,change可以直接修改数据类型和字段名、modify只能修改数据类型不能用来修改字段名
    alter table 表名 add 字段名 字段类型;
    alter table 表名 drop 字段名;
    alter table 表名 change 原来字段名 新的字段名 新的数据类型;
    alter table 表名 modify 字段类型 新的数据类型;
  3. SQL数据类型
    对数据进行约束,数据库的数据类型可分为:数值类型、字符串类型、日期类型、其他类型
    1》数值类型:int、float、double、decimal等(float默认长度10,两个小数位;double长度16,四个小数位;decimal一定要生命长度和精度)——float(10,2);double(16,4);decimal(m,n)
    2》字符串类型:char(定长长度字符串)、varchar(不定长长度字符串)、text等(若输入的数据有空格char会将空格与数据一同输出,varchar只输出数据,空格忽略不输出)
    3》日期类型:date(年月日)、time(时分秒)、datetime(年月日)、timestamp(年月日)、year(年)等
    4》其他类型:blob(二进制数据)、enum(枚举)、set(集合类型)、json(json数据)
    eg:创建一个学生表,id int;name varchar(10),money float,in_date date
    CREATE TABLE student(
    id int,
    name varchar(10),
    money FLOAT,
    in_date date
    )

数据完整性约束
作用:数据的准确性和可靠性
分类:实体完整性、域完整性、引用完整性、自定义完整性

实体完整性:实体指记录;实体完整性约束保证数据记录之间是准确的(能够唯一标识一个实体);实体完整性包括
	主键约束、唯一约束、主键自增三种
	主键约束:
		特点:唯一且非空
		关键字:primary key
		添加约束语法:alter table 表名 add constraint 约束名 primary key(字段名);
		约束名:pk_字段
		删除约束语法:alter table 表名 drop primary key;
		规定:在每一个表中有且只能有一个主键约束
	唯一约束:
		特点:不能重复,可以为空,可以添加多个
		关键字:unique
		添加约束语法:alter table 表名 add constraint 约束名 unique(字段名);
		约束名:UQ_字段
		删除约束的语法:alter table 表名 drop key 约束名;
	主键自增约束:
		特点:从1开始,每次自身加1(在oracle中不能使用)
		关键字:auto_increment
		只能在创建表的时候添加主键自增的约束,而且必须是主键才可以添加
	eg:CREATE TABLE xuesheng (
			id INT PRIMARY KEY auto_increment,
			name VARCHAR(20),
			age int,
			id_card VARCHAR(20) UNIQUE
		)
		删除主键自增约束
			1、去除自增性
				alter table student modify id int;
			2、删除主键约束
				alter table student drop primary key;
域完整性
	域完整性约束保证字段的数据准确,域完整性只能在创建表的时候添加
	域完整性包括类型约束、非空约束(not null)、默认值(default)
	非空约束:
		特点:字段不允许为空
		关键字:not null
	默认值:
		特点:设置默认的值
		关键字:default
引用完整性
	一张表中通用列的取值必须参考另外一张表的主键
	引用完整性有外键约束(学生表和班级表)
	添加外键alter table 需要添加外键表名 add constraint FK_字段名 foreign key(字段名)
	references 被引用外键的表名(字段名);
	删除外键:alter table 表名 drop foreign key 外键名;
注:主外键关联;外键关联字段名称可以不一样,但是类型必须一样

DML:数据操纵语言表中的数据进行操作的语言【增(insert)删(delete)改(update)查(select)】
数据操纵语言是对数据库对象中数据的操作,比如对数据进行增加、删除、修改和查询等操作
关键字:insert、delete、update、select

插入数据(insert)
	语法:insert into 表名(字段1,.......) values(值1,......);
	eg:INSERT INTO classroom VALUES(1,'哈哈','哈哈班');
		INSERT into  classroom (cname) VALUES ('python');
		INSERT INTO classroom VALUES (2,'呼呼','呼呼班'),(3,'呼呼','呼呼班'),
			(4,'呼呼','呼呼班');
		insert into 表2 select * from 表1 ; 将表一的数据添加到表二(前提两个表的结构一致)
删除数据(delete)
	语法:delete from 表名 where 条件
	eg:DELETE FROM classroom WHERE cname = 'python';
		DELETE FROM classroom;
truncate 清空表中的数据
	语法:truncate table 表名;
	delete与truncate的区别:
		delete是逐行删除,truncate是文件级别的清空
		delete删除后并没有改变表的结构,truncate执行删除后改变表的结构(delete删除后添加数据,表
		的自增数据结构不变;truncate删除后添加数据,自增性从1重新开始)
修改数据(update)
	语法:update 表名 set 字段名=新值 where 条件
	eg:UPDATE classroom set cname='oracle' WHERE cid=1;
查询数据(select)
	语法:select 字段/表达式 from 表名/视图/结果集
	where 条件
	group by 分组
	having 分组后进行检索
	order by 排序
	limint 限制结果

SQL运算符
算数运算符、比较运算符、逻辑运算符

算数运算符:+-*/div(整除)%mod(取余)
比较运算符:>\<\>=\<=\=\!=\is null\is not null\between....and....\in\not in
逻辑运算符:与或非and、or、!(and : 同真方真,有假即假;or:有真即真,同假方假;!:取反)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值