当前位置: 首页 > wzjs >正文

专注网站建设微信开发太原网页设计师招聘信息

专注网站建设微信开发,太原网页设计师招聘信息,作文网址,企业网站建立答辩问题目录 SQL语句 1、SQL的背景 2、SQL的概念 SQL的分类 SQL的书写规范 MySQL数据库 1、MySQL数据库的编码 (1)utf8和utf8mb4的区别 (2)MySQL的字符集 (3)MySQL默认编码为 latin1 ,如何更改…

目录

SQL语句

1、SQL的背景

2、SQL的概念

SQL的分类

SQL的书写规范

MySQL数据库

1、MySQL数据库的编码

(1)utf8和utf8mb4的区别

 (2)MySQL的字符集

(3)MySQL默认编码为 latin1 ,如何更改为utf8mb4

(4)查看数据库编码情况

 show variables like "char%";

2、数据库操作

(1)创建数据库(create)

(2)删除数据库(drop)

表的操作

1、创建表格(create)

2、查询

3、插入

4、删除表格

数据类型

Text类型

Number类型

Date类型

常用的数据类型

案例:创建数据库db_ck, 再创建表t_hero ,将四大名著中的主要任务都插入这个表中。


关系数据库,都是遵循SQL语法进行数据查询和管理的。

SQL语句

1、SQL的背景

SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。由于它具有功能丰富、使用方便灵活、语言简洁易学等突出的优点,深受计算机工业界和计算机用户的欢迎。1980年10月,经美国国家标准局(ANSI)的数据库委员会X3H2批准,将SQL作为关系数据库语言的美国标准,同年公布了标准SQL,此后不久,国际标准化组织(ISO)也作出了同样的决定。

1986年了,ISO提出SQL的一个标准,SQL86。

2、SQL的概念

SQL:结构化查询语言(Structured Query Language),在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。

使用SQL语句,程序员和数据库管理员可以完成如下的任务:

  • 改变数据库的结构

  • 更改系统的安全设置

  • 增加用户对数据库或表的许可权限

  • 在数据库中检索需要的信息

  • 对数据库的信息进行更新

SQL的分类

根据SQL的功能,进行如下分类:

  • DDL(Data Definition Language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作。 CREATE、DROP、ALTER、RENAME、 TRUNCATE等。
  • DML(Data Manipulation Language):数据操作语言,定义对数据库记录的操作。 INSERT、DELETE、UPDATE、SELECT等。
  • DQL(Data Query Language):数据查询语言,SELECT将数据的查询单独说明。
  • DCL(Data Control Language):数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别。 GRANT、REVOKE等。

SQL的书写规范

在数据库系统中,

  • SQL语句不区分大小写(建议用大写) 。 但字符串常量区分大小写。
  • SQL语句可单行或多行书写,以“;”结尾。
  • 关键词不能跨多行或简写。
  • 用空格和缩进来提高语句的可读性。
  • 子句通常位于独立行,便于编辑,提高可读性。

注释:

SQL标准:

        /**/。多行注释

        “-- ” 单行注释

MySQL注释:

        “#”

MySQL数据库

1、MySQL数据库的编码

  • MySQL的默认编码:Lain1编码
  • 早期MySQL为了兼容中文等字符:提供 utf8编码
  • 由于第四个字节被用于存储表情包,所以X现在的MySQL数据库建议使用真正的Unicode编码:utf8mb4
  • MySQL字符集包括字符集(CHARACTER/character)和校对规则(COLLATION/collation)两个概念。
  • 各种编码支持的字符:

    latin1:支持西欧字符、希腊字符等。
    gbk:支持中文简体字符。
    big5:支持中文繁体字符。
    utf8:几乎支持世界所有国家的字符。

  • MySQL自带的数据库:

    Information_schema: 主要存储了系统中的一些数据库对象信息:如用户表信息、列信息、权限信息、字符集信息、分区信息等。(数据字典表)
    performance_schema:主要存储数据库服务器的性能参数
    mysql:存储了系统的用户权限信息及帮助信息。        
    sys:5.7新增,之前版本需要手工导入。这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据      
    test:系统自动创建的测试数据库,任何用户都可以使用。

(1)utf8和utf8mb4的区别

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。

既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符,如表情等等(utf8的缺点)。

因此在8.0之后,建议大家使用utf8mb4这种编码。

 (2)MySQL的字符集

MySQL字符序命名规则: 以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci、cs或bin结尾。

其中,ci表示大小写不敏感,cs表示大小写敏感,bin表示按二进制编码值比较。

character_set_client:MySQL客户机字符集。
character_set_connection:数据通信链路字符集,当MySQL客户机向服务器发送请求时,请求数据以该字符集进行编码。
character_set_database:数据库字符集。
character_set_filesystem:MySQL服务器文件系统字符集,该值是固定的binary。
character_set_results:结果集的字符集,MySQL服务器向MySQL客户机返回执行结果时,执行结果以该字符集进行编码。
character_set_server:MySQL服务实例字符集。
character_set_system:元数据(字段名、表名、数据库名等) 的字符集,默认值为utf8。

(3)MySQL默认编码为 latin1 ,如何更改为utf8mb4

方法:修改my.cnf配置文件,可修改MySQL默认的字符集,修改完毕重启MySQL

1.在[mysqld]下添加
    default-character-set=utf8 #适合5.1及以前版本
    (mysql 5.5及以后版本添加character-set-server=utf8)
    init_connect = 'SET NAMES utf8'
2.在[client]下添加
    default-character-set=utf8

(4)查看数据库编码情况

 show variables like "char%";

2、数据库操作

(1)创建数据库(create)

#  创建数据库

CREATE DATABASE 数据库名称 ;

#  创建数据库,同时指定编码

## 使用 charset 简写指定字符集为utf8mb4。

create database db_name default charset="utf8mb4";

## 使用character set 全写指定字符集为utf8mb4。
create database school DEFAULT CHARACTER SET utf8mb4;

## 使用 collation 指定校对集为utf8mb4_general_ci。
create database school DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ;

查询数据库的详细信息:

# 查询当前数据库是哪个数据库
select database();
# 查看数据库版本
SELECT VERSION();
# 查看当前用户
SELECT USER();
# 查看所有用户
SELECT User,Host,Password FROM mysql.user;

# 查看创建的数据库
show create databsse 数据库名称;

(2)删除数据库(drop)

# 写法1

drop database  数据库名称;

# 写法2:判断如果数据库不存在就创建,如果存在就不创建。

drop database [if exists] db_chengke;

3、表的操作

数据表(table),是一种二维表格,类似于execel,用来存储真正的数据。

1、创建表格(create)

#  语法结构

create table [if not exists] t_name (
    # 定义表结构
    字段名称1 类型 [约束条件],
    字段2  类型 [约束条件],
    ……
    字段n 类型 [约束条件]
)

#  例如:

/**
    创建一个用户表
    用户的姓名
    用户的年龄
    用户的性别
    用户的地址
    用户的电话
**/


create table t_user (
    id int,
    name varchar(50),
    age int,
    gender char(5),
    address varchar(255),
    tel char(11)
)

2、查询

# 查询表中的数据 
select * from t_name;

3、插入

# 插入数据
insert into t_name values(1, "小明", 16, '男', "四川", "110");

4、删除表格

drop table [if exists] t_name;

数据类型

MySQL数据库主要分为三大类:

  1. 数值型

  2. 字符串类型

  3. 时间和日期类型

Text类型

Number类型

注意:这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED属性,那么范围将从 0 开始,而不是某个负数。

Date类型

常用的数据类型

案例:创建数据库db_ck, 再创建表t_hero ,将四大名著中的主要任务都插入这个表中。

MySQL代码:root@localhost 8.0.40 [(none)]> create database db_ck default charset="utf8mb4";
root@localhost 8.0.40 [(none)]> show create database db_ck-> ;
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database|
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| db_ck    | CREATE DATABASE `db_ck` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
root@localhost 8.0.40 [(none)]> use db_ck
Database changed
root@localhost 8.0.40 [db_ck]> create table t_hero (-> id int,-> name varchar(50),-> works varchar(100)-> );
root@localhost 8.0.40 [db_ck]> insert into t_hero values(1,"宋江","《水浒传
》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(2,"武松","《水浒传
》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(3,"刘备","《三国演 义》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(4,"诸葛亮","《三国
演义》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(5,"唐僧","《西游记
》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(6,"孙悟空","《西游
记》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(7,"贾宝玉","《红楼
梦》");
root@localhost 8.0.40 [db_ck]> insert into t_hero values(8,"林黛玉","《红楼
梦》");root@localhost 8.0.40 [db_ck]> select * from t_hero;
+------+-----------+--------------------+
| id   | name      | works              |
+------+-----------+--------------------+
|    1 | 宋江      | 《水浒传》         |
|    2 | 武松      | 《水浒传》         |
|    3 | 刘备      | 《三国演义》       |
|    4 | 诸葛亮    | 《三国演义》       |
|    5 | 唐僧      | 《西游记》         |
|    6 | 孙悟空    | 《西游记》         |
|    7 | 贾宝玉    | 《红楼梦》         |
|    8 | 林黛玉    | 《红楼梦》         |
+------+-----------+--------------------+
http://www.dtcms.com/wzjs/571924.html

相关文章:

  • 忻州网站建设培训小型建筑公司有哪些
  • 免费网站服务器2020可以注册的网站
  • 佛山p2p网站建设新开传奇新服网手机版
  • 网站建设在整体布局有哪些要求杭州旺道企业服务有限公司
  • 网站排版asp源码 自助建站
  • 阳信住房和城乡建设厅网站wordpress 传到哪里去
  • 电子商务网站平台建设预算不包括河南网站建设37518
  • 门户网站app开发企业品牌策划书
  • 网站开设作风建设专栏黄石网站设计
  • 如何给网站做dns解析品牌设计公司企业logo设计
  • 响应式网站是指自适应吗百度seo价格查询系统
  • 做团餐 承包食堂的企业网站怎么自己做淘宝网站
  • 济源网站建设费用wp网站如何做多级联动筛选框
  • 货运代理东莞网站建设赚钱做网站
  • 深圳建站公司品牌网站建设wordpress对接api
  • 家居设计网站推荐中国建筑公司排名一览表
  • 网站开发费用属于哪种无形资产网站开发参考文献2015年后
  • 用于公司网站建设的费用记帐分录南京的网站建设公司哪家好
  • 进入网站后台ftp空间后怎样上传做的网站第二年续费多钱
  • 人工智能平台seo怎么发文章 seo发布工具
  • 人才招聘网网站策划方案网络构建工作室
  • 展览馆网站建设方案书如何提高网站的收录
  • 做接口的网站如何弄自己的网站
  • 百度网站推广电话宁波网页制作模板
  • 响应式网站设计布局免费建立网站的网站都有啥
  • 网站架构师招聘wordpress主题 卢松松
  • 自由做图网站gta5买房子网站建设
  • 遵义网站建公司chaincd wordpress
  • 微网站如何做宣传wordpress数据库设计
  • 番禺建设网站平台专业柳州网站建设公司