SQL 1 数据库 表的操作
数据库:是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。一句话就是存储数据的仓库
数据库的分类:网络数据库、层级数据库、关系结构数据库。
倘若按照数据库的存储介质来分:关系型数据库(存储在磁盘中)、非关系子型数据库(存储在内存中)
关系模型的组成:
1、关系数据结构:指数据以什么方式来存储,是一种二维表的形式存储
2、关系操作集合:如何来关联和管理对应的存储数据。SQL指令
3、关系完整性约束:数据内部有对应的关联关系,以及数据与数据之间也有对应的关联关系
表内关系:对应的具体列智能存放在对应的数据(不能乱放)
表间约束:自然界实体都是有对应的关联关系(外键)
典型关系数据库:
小型关系数据库:Microsoft Access、SQLite
中型关系数据库:SQL Sever 、Mysql
大型关系数据库:Oracle、DB2
SQL分类:
1、数据查询语言(DQL:data query language)
专门用于查询数据:代表指令为select 、show
2、数据操作语句(DML:data Manipulation language)
专门用于写数据:代表指令:insert、update、delete
3、事务处理语言(TPL)
专门用于事务安全处理:transaction
4、数据控制语言(DCL)
专门用于权限管理:代表指令为grant、revoke
5、数据定义语言(DDL)
专门用于结构管理:代表指令create 、 drop(alter)
启动和停止Mysql服务:
命令行方式:
net start mysql 开启服务
net stop mysql 关闭服务
登录和退出Mysql系统:
登录:
1、 找到mysql.exe(通过cmd控制台:如果在安装的时候指定了mysql.exe所在的路径为环境变量,就可以直接访问;如果没有,那么就必须进入到mysql.exe所在路径)
2、 输入对应的服务器地址:-h:host -h[IP地址/域名]
3、 输入服务器中Mysql监听的端口: -P:port –P:3306
4、 输入用户名:-u:username -u:root
5、 输入密码:-p:password –p:root
连接认证基本语法:
Mysql.exe/mysql -h主机地址 -P端口 -u用户名 -p密码
注意事项
1、 通常端口都可以默认:mysql坚挺的端口通常都是3306
2、 密码的输入可以先输入-p,直接换行,然后再以密文方式输入密码
退出:
断开与服务器的连接:通常Mysql提供的服务器数量有限,一旦客户端用完,建议就应该断开连接。
建议方式:使用SQL提供的指令
Exit; //exit带分号
\q; //quit缩写
Quit:
数据库中常用的几个关键字
Row:行
Column:列(field)
数据库的基本操作
1、创建数据库
基本语法:create database 数据库名称 [库选项] ;
库选项:数据库的相关属性
字符集:charset 字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集(如果当前不指定,那么采用DBMS默认的)
校对集:collate 校对集
Create database 数据库名字 charset 字符集名称;
2、显示数据库
显示全部基本语法:show databases;
显示部分基本语法 show databases like ‘匹配模式’;
_:匹配当前位置单个字符
%:匹配指定位置多个字符
3、显示数据库创建语句
基本语法 show create database 数据库名字;
4、选择数据库
基本语法 use 数据库名字;
5、修改数据库
修改数据库字符集(库选项):字符集和校对集
基本语法 alter database 数据库名称 charset = 字符集;
6、删除数据库
基本语法: drop database 数据库名字;
删除虽简单,但是切记要做好安全操作:确保里面数据没有问题。(重要)
删除数据库之后:对应的存储数据的文件夹也会被删除(opt文件也被删除)
数据表的基本操作
1、创建数据表(要有数据库)
普通创建表
基本语法:create table 表名(字段名 字段类型 [字段属性], 字段名 字段类型 [字段属性],…) [表选项]
赋值已有表结构
基本语法:create table 新表名 like 表名; //只要使用数据库.表名,就可以在任何数据库下访问其他数据库的表名
从已经存在的表复制一份(只复制结构:如果表中有数据不复制)
2、显示数据表
显示所有表 show tables;
匹配显示表 show tables like ‘匹配模式’;
显示表结构 本质含义:显示表中所包含的字段信息(名字,类型,属性等)
Describe 表名
Desc 表名
show columns from 表名
显示创建表语句 查看数据表创建时的语句:此语句看到的结果已经不是用户之前自己输入的。
show create table 表名;
Mysql中有多种语句结束符
;与\g所表示的效果是一样的,都是字段在上排横着,下面跟对应的数据
\G字段在左侧竖着,数据在右侧横着
3、设置表属性
表属性指的就是表选项:engine,charset和collate
基本语法:alter table 表名 表选项 [=] 值;
4、修改表结构
修改表名 rename table 旧表名 to 新表名;
修改表选项 alter table 表名 表选项 [=] 新值
新增字段 alter table 表名 add [column] 新字段名 列类型 [列属性] [位置first/after 字段名]
字段位置:字段想要存放的位置
First:在某某之前(最前面),第一个字段
After 字段名:放在某个具体的字段之后(默认的)
修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置]
修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置]
删除字段:alter table 表名 drop 字段名
删除表结构
基础语法:drop table 表名[,表名2…],可以同时删除多个数据表
数据基础操作
1、插入操作 本质含义:将数据以SQL的形式存储到指定的数据表(字段)里面
基本语法:向表中指定字段插入数据
Insert into 表名[(字段列表)] values(对应字段列表)
2、查询操作
查询表中全部数据:select * from 表名; //*表示匹配所有的字段
查询表中部分字段:select 字段列表 from 表名; //字段列表使用逗号“,”隔开
简单条件查询数据:select 字段列表/* from 表名 where 字段名 = 值; //mysql中没有==符号
3、删除操作
基本语法:delete from 表名 [where 条件]; //如果没有where条件:意味着系统会自动删除该表所有数据(慎用)
4、更新操作 更新:将数据进行修改(通常是修改部分字段数据)
基本语法:update 表名 set 字段名 = 新值 [where 条件];//如果没有where条件,那么所有的表中对应的那个字段都会被修改成统一值。
字符集:
Mysql.exe如果告知Mysqld.exe对应的字符集类型为gbk? set names gbk;
快捷方式:set names 字符集