MySQL 系列第一天
来源:互联网 发布:调音师知乎 编辑:程序博客网 时间:2024/05/21 01:43
MySQL 系列第一天
这篇文章是黑马程序员 MySQL 教程的笔记,好好学习哦。
和 MySQL 数据库的交互
- 客户端单向连接认证:连接服务器,认证身份。
MySQL 数据库属于 C/S 架构,所以开启服务器程序后,需要通过客户端连接它。MySQL 会自带一个客户端程序,可以直接输入账号和密码即可连接。
如果你是在 Windows 系统上使用 MySQL ,那么可以通过 cmd 命令打开命令行窗口,输入以下指令,同样可以连接上 MySQL 服务器程序。首先要配置 Path 环境变量,这样就可以不用输入 mysql.exe 的完整路径,操作系统也能找到这个可执行文件。
mysql -hlocalhost -p3306 -uroot -p //此时回车,紧接着输入密码再回车,就可以连接上 MySQL 服务器了。//其中 -h 表示 MySQL 服务器程序所在主机的地址, -p 表示应用程序所使用的端口号, -u 表示用户名, -p 表示密码
- 客户端发送 SQL 指令
show databases; //查询所有数据库
- 服务器端接受指令,处理指令并返回结果
- 客户端接受结果,并显示结果。
- 客户端断开连接,释放资源,SQL 指令为
exit
全程截图如下:
SQL 基本操作
在学习sql 指令使可以按照操作对象分为三类:数据库操作指令,数据表操作指令,数据操作指令。
- 库操作指令
新增数据库:
create database 数据库名字 [库选项]
create database newdatabase cahrset utf8;
执行新增操作后,MySQL 服务器程序会在它的 data 文件夹中创建一个以数据库名字命名的文件夹,文件夹内还有一个 db.opt 文件,里面保存的是库选项,内容如下:
default-character-set=utf8 //默认字符集是 utf8default-collation=utf8_general_ci //默认校对集是 utf8_general_ci//字符集很好理解,这里的校对集是什么呢?通常从数据库中查询数据时候,需要进行数据的比对,比如按照价格升序取出,这个校对集就是一种规定如何进行比对的规范
查询数据库:
show databases; //查询 DBMS 中所有的数据库show databases like 'my%' //这是模糊查询的方式,如果有转义字符,不要忘了转义show create database newdatabase; //查询创建某个数据库的 sql 语句//此处查询后发现和自己写的 sql 语句不一样,只是因为 MySQL 在执行指令前,会先优化 sql 语句,再执行。
更新数据库:
数据库的修改仅限于修改库选项:alter database 数据库名 charset 字符集 collate 校对集
alter database newdatabase charset gbk //此指令执行后,db.opt 文件的字符集选项同时会立即更改,因为校对集依赖于字符集,所以它也会随之改变
删除数据库:
drop database newdatabase;// 删除指令执行后,它在磁盘上的文件也会删除
- 表操作指令
新增数据表:
create table [if not exists] 表名 (字段名字 数据类型 ,字段名字 数据类型 )[表选项] ;
create table student( name varchar(11), gender varchar(11), number varchar(11), age int)//数据库执行此操作后,默认会生成一个对应的表文件
查看数据表:
show tables; //查看次数据库所有表 show tables like 's%'; //模糊查询 show create student; //查看表创建语句 show columns from student //查看表结构,也就是查看表的字段名
修改数据表:
表本身可以修改,修改表名和表选项
rename table student to ne_student; //修改表名alter table ne_student chaeset gbk; //修改表选项项目写着就发现数据库设计的不够合理,需要更改,掌握修改字段真的很重要。alter table ne_student add id int first;//添加 id 字段到表的第一个位置、alter table ne_student add phone varchar(11) after age; //添加 phone 字段到 age 后面alter table ne_student modify gender varchar(10); //修改 gender 字段的数据长度alter table ne_student change gender sex varchar(10); //重命名 gender 为 sexalter table ne_student drop sex; //删除 sex 字段
删除数据表
drop table student; //删除 student 单张表drop table ne_student,ne_teacher; //删除多张表
- 数据操作指令
插入数据:
insert into ne_student(id,name) values(1,'kk'); //这种插入操作只要字段名和值对应就可以了,并不需要全部字段都写上。insert into ne_student values(2,'kkk','male','123'); //这种插入操作,就必须要按照表中字段的顺序,每一个字段都插入相对应的值。
查看数据:
select * from ne_student; //查看所有数据select * from ne_student where name like 'k%'; //限制查询条件//关于查询的操作非常多,这里只是简单展示下
更新数据:
update 表名 set 字段 = 值 [where条件];
update ne_student set id = 3 where name = 'kkk'; //将 kkk 的 id 改为 3
删除数据:
delete form ne_student where name='kkk';//删除名字为 kkk 的这条记录//这里之所以能够查询,是因为校对集在起作用
讲到这里,对于数据库、表、,表中字段以及数据的增删改查都已经展示完了。主要还是起到一个建立框架的作用,明确数据库中有哪些对象,针对这些对象来进行相应操作。
库选项的相关介绍
学习编程时,通常会遇到中文乱码问题。其实总结下来,就是因为编码和解码采用不同的字符集,产生了乱码。MySQL 数据库自然不能免俗啊。
通过show charsets;
可以查看 MySQL 支持的所有字符集,它默认采用的是 utf-8 编码,只要同一字符集就不会出现乱码问题。
通过show collation;
可以查看 MySQL 支持的所有校对集,有 129 种,不要惊讶,这是因为校对集是依赖于字符集的,每种字符集都有几种校对集。
校对集有三种格式:
_bin: binary 二进制比较, 取出二进制位,一位一位的比较, 区分大小写。例如,数据库会认为 aaa 不等于 Aaa;
_cs: case sensitive 大小写敏感, 区分大小写。例如,数据库会认为 aaa 不等于 Aaa;
_ci: case insensitice 大小写不敏感,不区分大小写。例如,数据库会认为 aaa 等于 Aaa;
所以,我们要根据实际情况,选择对应的校对集。
- MySQL 系列第一天
- JAVA系列第一天
- mysql第一天
- mysql 学习 第一天
- mysql第一天 架构
- MySQL学习第一天
- MySQL第一天
- Mysql的第一天
- Mysql第一天1.15
- Mysql 第一天
- mysql 第一天
- 第一天MySQL学习①
- 第一天MySQL学习②
- mysql---国庆学习第一天
- MySql数据库学习第一天
- Mac MySQL 使用(第一天)
- MySQL 计算每周第一天、每月第一天的方法
- Linux七天系列(第一天)
- Android闹钟
- jQuery与Ajax小练习-二级联动(从Oracle数据库获取数据)
- AI浪潮下需要思考的事
- 深究js(四)——表达式
- 哲学家进餐问题C语言实现
- MySQL 系列第一天
- telnet模拟Http请求
- 数组当函数参数时,所带来的问题?
- NOIP2011 Day2 T2 聪明的质监员
- onkeydown
- 深入理解javascript原型和闭包(2)——函数和对象的关系
- 用Composer 安装 laravel框架
- D
- 修改mysql密码