mysql数据库的基本操作(增删改查、字符集、校对集)

目录:

1.数据库课程体系

2.数据库基础知识

3.关系型数据库

4.关系型数据库的一些关键字

5.SQL 语言

6.mysql数据库

7.mysql服务器数据对象—mysql的结构

8.SQL基本操作 增删改查CRUD–库操作

9.表操作

10.数据操作

11.中文数据问题(字符集问题)

12.校对集

1.数据库课程体系

* 基础阶段(就业班6天):mysql数据库的基本操作,以及一些高级操作(视图、触发器、函数、存储过程等)和PHP操作mysql数据库

* 优化阶段:如何提高数据库效率,如索引,分表等

* 部署阶段:如何搭建真实的环境系统,如服务器集群,负载均衡

2.数据库基础知识

* 什么是数据库?

数据库:database,存储数据的仓库;高效地存储和处理数据的介质(磁盘和内存)

* 数据库的分类

基于存储介质的不同:分为关系型数据库(SQL)和非关系型数据库(NoSQL,Not only SQL)

* 数据库产品:

关系型:

大型:oracle,DB2

中型:SQL server,MySQL等

小型:access等

非关系型:

memcached,mongodb,redis

* 两种数据库阵营的区别?

关系型数据库:安全(保存磁盘基本不可能丢失),容易理解,比较浪费空间(二维表存储)

非关系型数据库:效率高,不安全(断电丢失)

3.关系型数据库

* 定义:是一种建立在关系模型(数学模型)上的数据库

* 关系模型:一种所谓建立在关系上的模型。关系模型包含三个方面:

数据结构:数据存储的问题,二维表(有行和列)

操作指令集合:SQL语句

完整性约束:表内数据约束,表与表之间约束(外键)

* 关系型数据库的设计:

关系型数据库:从需要存储的数据需求中分析,如果是一类数据(实体)应该设计成一张二维表:表是由表头(字段名:用来规定数据的名字)和数据部分组成(实际存储的数据单元)

二维表:行和列

表头

字段名1

字段名2

数据单元

数据1

数据2

以实际案例来进行处理:分析一个教学系统,讲师负责教学,教学生,在教室教学生

(1)找出系统中所有存在的实体:讲师表、学生表、班级表

(2)找出实体中应该存在的数据信息

讲师:姓名,性别,年龄,工资

学生:姓名,性别,学号,学科

班级:班级名称,教室编号

关系型数据库:维护实体内部,实体与实体之间的联系

实体内部联系:每个学生由姓名,性别,学号,学科信息

姓名

性别

学号

学科

年龄

张三

001

java

20

李四

007

java

21

第二行的所有字段,都是在描述张三这个学生(内部联系);第二列只能存储性别(内部约束)。

关系型数据库的特点之一:如果表中对应的某个字段没有值,但是系统依然要分配空间。所以关系型数据库比较浪费空间。

实体与实体之间的联系:每个学生肯定属于某个班级,每个班级一定由多个学生(一对多)

班级表

班级编号

班级名称

A001

java教学一班

A002

java教学二班

学生表(在学生表中添加一个班级字段来指向班级)

姓名

性别

学号

学科

年龄

班级编号

张三

001

java

20

A001

李四

007

java

21

A002

4.关系型数据库的一些关键字

* 数据库:database

* 数据库系统:DBS(Database System):是一种虚拟系统,将多种内容关联起来的称呼

DBS = DBMS +DB

* DBMS(Database Management System)数据库管理系统

* DBA(Database Administrator)数据库管理员

* 行/记录 row/record,本质是一个东西,都是指表中一行(一条记录);

* 列/字段:column/field

5.SQL语言

* SQL:Structured Query Language,结构化查询语言(数据以查询为主,99%都是在进行查询操作)

* SQL分为三个部分:

– DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库和表),

代表指令:create,drop,alter等    【操作数据库和表结构】

– DML:Data Manipulation Language,数据操作语言,用来对数据进行操作【操作表记录】

代表指令:insert,delete,update等;

DML内部又单独有一个分类DQL,Data Query Language数据查询语言,如select

– DCL:Data Control Language,数据控制语言,主要负责权限管理,代表指令:grant,revoke等

6.mysql数据库

* mysql数据库是一种c/s(客户端/服务器)结构的软件

* 交互方式:

1)客户端连接  mysql[.exe] [-hlocalhost] [-p3306] -uroot -p123

2)发送SQL指令

3)服务器接收SQL指令,处理SQL指令,返回操作结果

4)客户端接收结果,显示结果

5)断开连接  (exit  quit  \q)

7.mysql服务器数据对象—mysql的结构

* 将mysql服务器内部对象分成了四层:

系统 DBMS –> 数据库 DB –> 表 table –> 字段 field

8.SQL基本操作 增删改查CRUD create read update delete

* 将SQL的基本操作根据操作对象进行分类,分为三类:库操作,表操作(字段),数据操作

* — 双中划线+空格:单行注释,也可以使用 #

* 库操作:对数据库的增删改查

==================新增数据库====================

– 新增数据库 create database [if not exists] 数据库名 [库选项];

** 库选项:用来约束数据库

** 字符集设定:charset/character set 具体字符集

** 校对集设定:collate 具体校对集(数据比较的规则)

** 例子:create database mydb1 charset utf8;

** 创建中文数据库(建议不要使用中文命名数据库名)

set names gbk;

create database 中文 charset utf8;

** 如果数据库名字和关键字(或保留字)重复,使用反引号

create database `database` charset utf8;

– 创建新的数据库后,会在mysql安装目录的data文件夹下创建一个文件夹,名字就是数据库名

每个数据库下,有一个db.opt文件,保存了库选项

default-character-set=utf8     ==> 字符集

default-collation=utf8_general_ci   ==>校对集,依赖字符集

==================查询数据库====================

– 查看所有数据库 show databases;

– 查看指定部分的数据库:模糊查询

show databases like ‘mydb_’;  下划线_匹配一个字符

show databases like ‘my%’;     %匹配任意个字符

show databases like ‘information\_%’;     使用\转义

– 查看数据库的创建语句

show create database 数据库名;

==================修改数据库====================

– 数据库名字不可以修改

– 可以修改数据库的库选项:字符集和校对集(校对集依赖字符集)

alter database 数据库名 charset [=] utf8;

alter database 数据库名 [default] character set [=] utf8;

==================删除数据库====================

– 删除数据库 drop database [if exists] 数据库名;

9.表操作(操作表结构)

==================新增数据表====================

* 新增数据表

create table [if not exists] [数据库名.]表名(

字段名字 数据类型,

字段名字 数据类型

)[表选项];

– if not exists:如果表不存在,创建之;如果已经存在,不创建;

–  表选项:

字符集:charset/character set 具体字符集;

校对集:collate 具体校对集;

存储引擎:engine 集体引擎;

– 例子:显示指定表所属的数据库

CREATE TABLE [IF NOT EXISTS] test1.`tb_stu` (

`username` varchar(20) DEFAULT NULL,

`age` int DEFAULT NULL,

`password` varchar(50) DEFAULT NULL

) [ENGINE=MyISAM DEFAULT CHARSET=utf8];

– 例子:先进入某个数据库环境,即隐式指定表所属数据库

use test1;

create table tb_stu1 (

username varchar(20),

age int

)charset utf8;

==================查看数据表====================

* 查看所有表 show tables;

* 模糊查询 show tables like ‘%s’;

* 查看表创建语句 show create table 表名;

show create table 表名\g

show create table 表名\G   将查到的结果旋转90度变成纵向

* 查看表结构

desc/describe 表名;

show columns from 表名;

==================修改数据表====================

* 修改表名 rename table tb_student  to tb_stu

* 修改表选项

alter table tb_stu charset [=] utf8;

* 新增字段

alter table tb_stu add [column] (字段名 数据类型) [列属性][位置];

– 位置:

first:第一个位置

after 字段名:

alter table tb_stu add (

sid int

)first;

* 修改字段类型 alter table 表名 modify 字段 数据类型 [列属性][位置];

alter table tb_stu modify id varchar(32) after username;

* 修改列名和列类型  alter table 表名 change 原列名 新列名 列类型 [列属性][位置];   可以同时修改列名和列类型

* 删除字段

alter table 表名 drop 字段名;

==================删除数据表====================

* drop table [if exists] 表名1[,表名2…];

10.数据操作(操作表记录)

* 新增数据

insert into tb_stu(username,password) values(‘zhangsan’,’123′),(‘lisi’,’123′);

insert into tb_stu values(‘zhangsan’,’123′),(‘lisi’,’123′);

* 查看数据

select * from tb_stu;

select username, password from tb_stu;

select * from tb_stu where username = ‘zhangsan’;

* 更新数据

update tb_stu set password = ‘456’ where username = ‘zhangsan’;

* 删除数据

delete from tb_stu [where …];

11.中文数据问题(字符集问题)

* show character set; 查看服务器识别哪些字符集

* 查看mysql数据库编码:show variables like ‘char%’;

* set names gbk; 相当与下面三句 ===>

SET character_set_client=’utf8′;

SET character_set_connection=’utf8′;

SET character_set_results =’utf8′;

* character_set_connection ;连接层字符集,是字符集转变的中间者,如果统一了效率更高,不统一也没问题

12.校对集

* 校对集:数据比较的方式

* 校对集有三种格式:

_bin:binary二进制比较,取出二进制位,一位一位比较,区分大小写

_cs:case sensitive 大小写敏感

_ci:case insensitive 大小写不敏感

* 查看所有校对集 show collation;

* 校对集应用:只有当数据产生比较的时候,校对集才会生效

对比:使用utf_bin和utf8_general_ci两种不同校对集的效果

— 创建表,使用不同的校对集

create table tb_collate_bin(

name varchar(20)

)charset utf8 collate utf8_bin;

create table tb_collate_ci(

name varchar(20)

)charset utf8 collate utf8_general_ci;

— 插入数据

insert into tb_collate_bin values(‘a’),(‘A’),(‘B’),(‘b’);

insert into tb_collate_ci values(‘a’),(‘A’),(‘B’),(‘b’);

— 排序查找

select * from tb_collate_bin order by name;  ABab 区分大小写

select * from tb_collate_ci order by name;  aABb  不区分大小写

* 当表已经有数据了,那么校对集修改无效

mysql修改校对集_mysql数据库的基本操作(增删改查、字符集、校对集)相关推荐

  1. mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)

    MySQL数据库概述 MySQL数据库是经典的关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Dat ...

  2. mysql如何修改学生表_MySQL 详细单表增删改查crud语句

    MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...

  3. java ee 修改_java ee 在数据库中执行增删改查

    1.先建一个主页面里面包含着添加方法 学生信息 {//1.连接数据库// 1)加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver" ...

  4. flask中数据库的基本操作-增删改查【备忘】

    1.增加数据(就相当于增加一个实例对象)   user1 = User(name='long',email='1006550026@qq.com',password='123456',role_id= ...

  5. HBase数据库的基本操作增删改查

    # 进入hbase命令行,hbase需要在环境变量路径中 >hbase shell 表操作 # 显示hbase中的表 > list# 创建user表,包含info.data两个列族 > ...

  6. python连接mysql数据库并实现增删改查

    2019独角兽企业重金招聘Python工程师标准>>> 服务器安装mysql sudo apt-get install mysql-sever 开启和停止mysql服务 sudo s ...

  7. 数据库的操作 增删改查 mysql

    数据库的操作 增删改查 mysql 登陆数据库 查看全部的数据库 系统提供的库,除了 test 是给我们练手的 其它的不要碰 mysql库,保存了系统重要内容,比如帐户 root帐户的用户名,密码,就 ...

  8. mysql创建数据表列子,MySQL 创建数据库及简单增删改查

    MySQL 创建数据库及简单增删改查 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 登入: Enter passwor ...

  9. python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  10. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

最新文章

  1. MySQL第13天:索引优化
  2. XMemcached使用示例--转
  3. Windows系统C++配置编译OpenCV
  4. openwrt 更改 debug 等级(hostapd)
  5. 决策树——ID3和C4.5
  6. C语言 文件读写 ferror 函数 - C语言零基础入门教程
  7. python无条件跳转_python按按钮实现界面跳转_python实现界面跳转 - CSDN
  8. Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
  9. 百度人脸识别技术应用002---百度云上创建人脸库_分组_以及通过网页上传人脸照片到人脸分组
  10. 一文了解什么是DoIP协议(超详细)
  11. html简介百度百科,outerHTML
  12. wps所有宏被禁用_WPS 2019怎么启用宏功能?WPS 2019启用宏功能教程
  13. 空气质量等级c语言编程,关于SDS011模块(空气中pm2.5及pm10)单片机c程序实现(链接附源码)...
  14. jbox弹窗_Ztree结合jbox实现弹窗树结构
  15. 创造与魔法java语言_创造与魔法 | 最新魔法使用大全
  16. 用Potplayer听音乐时,声音忽大忽小问题
  17. java将html转pdf
  18. 用C语言统计给定文本文件中汉字的个数。
  19. 单片机中的几种通信方式
  20. 天龙八部TLBB搭建(三)CentOS7x系列服务器手工环境架设配置

热门文章

  1. 《炬丰科技-半导体工艺》SC-1颗粒去除和piranha后漂洗的机理研究
  2. 《黑客帝国》说的是什么?
  3. Mysql数据库日期查询
  4. 光刻厚胶 Thick Resist(SU-8 GM10xx,SU-8 Microchem,SPR220,NR26-25000P)
  5. python爬取12306火车票信息_从零开始写Python爬虫 --- 爬虫应用: 12306火车票信息查询...
  6. 故宫博物馆爬虫(简略版)
  7. QQ昵称修改颜色,彩色昵称太酷了
  8. 通过文件流转加密压缩文件并下载
  9. 文本框仅允许输入大于0的正整数
  10. FPGA Verilog语言常用语法