Mqsql基础:
Mysql数据库是一种c/s结构的软件:客户端/服务器,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要使用的时候运行)
互交方式:
1. 客户单链接认证:链接服务器,认证身份:.\mysql -nroot –p
2. 发送sql指令
3. 服务器就收sql指令:处理sql指令:返回操作结果
4. 客户端接受结果:显示结果
5. 断开连接(释放资源:服务器并发限制)(三种方式:exit quit \q)
Mqsql服务器对象:
没有办法完全了解服务器内部的内容:只能粗略的去分析数据库服务器的内部的结构
所以将mysql服务器内部对象分成了四层:
系统(DBMS)à数据库(DB)à数据表(Table)à字段(field)
Sql基本操作:
基本操作:CRUD
将sql的基本操作根据操作对象进行分类,分为三类:库操作,表操作(字段),数据操作
库操作:
对数据库的增删改查
新增数据库:
基本语法:
Create database 数据库名字【库选项】;
库选项:用来约束数据库,分为两个选项:
字符集设定:charset/characterset 具体字符集(数据存储的编码格式)常用的字符集:GBK和UTF8
校对集设定:collate具体校对集(数据比较的规则)
其中:数据库名字不能用关键字(已经被使用的字符)或者保留字(将来可能会用到的)
如果非要使用关键字或者保留字,那么必须使用反引号`
查看数据库:
1. 查看所有数据库:show databases;
2. 查看指定部分的数据库:模糊查询
Show databases like ‘pattern’ --pattern匹配模式
3. 查看数据库的创建语句:
Show create database 数据库名字;
修改数据库(更新数据库):
数据库名字不能修改
数据库的修改仅限库选项:字符集和校对集(校对集依赖字符集)
Alter database 数据库名字【库选项】;
Charset/character set【=】字符集
Collate 校对集
删除数据库:
所有操作中:删除是最简单的
Drop database 数据库名字;
当删除数据库会发生什么?
1. 在数据库内看不到对应的数据库
2. 在对应的数据库存储的文件夹内:数据库名字对应的文件夹也被删除(级联删除,里面对应的数据表全部删除)
表操作:
表和字段是密不可分的
新增数据表:
Create table [if not exists]表名(
字段名字数据类型,
字段名字数据类型 最后一行不要逗号
)【表选项】;
If not exists:如果表名不存在,那么就创建,否则不执行创建代码
表选项:控制表的表现
字符集:charset/character具体字符集; --保证表中数据存储的字符集
校对集:collate 具体校对集;
存储引擎:engine 具体的存储引擎(innodb和myisam)
任何一个表的设计都必须制定数据库
创建的时候可以这样:
1. Create database 数据库名表名(); --将当前数据表创建到制定的数据库下
2. 隐式的制定表所属的数据库:先进入到某个数据库环境,然后这样创建的表自动归到某个指定的数据库:
Use 数据库名
创建表
查看数据表
数据库能查看的方式,表都可以查看
1. 查看所有表:show tables
2. 查看部分表:模糊匹配:show table like ‘pattern’
3. 查看表的创建语句:show create table
删除数据表
Drop table数据表名字