mysql之CREATE DATABASE Syntax(创建数据库)

一:语法

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name       #SCHEMA是DATABASE的同义词  [IF NOT EXITTS]可防止建库是已经存在报错
    [create_specification] ...                           #可指定数据库的特征

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name             #指定字符集
  | [DEFAULT] COLLATE [=] collation_name                 #specifies the default database collation (排序规则)例如:创建数据库并指定字符集  create database db2 default character set=utf8

备注:数据库的字符集存储在数据库目录下的db.opt文件中,我们可通过  find / -name db.opt  查找并用less 查看相关db.opt文件如下

     

二:关于  CHARACTER SET  和   COLLATE

三:查看相关字符集

3.1 :查看MYSQL数据库服务器和数据库字符集

方法一:show variables like ‘%character%‘;
方法二:show variables like ‘collation%‘;

3.2 :查看表的字符集(show table status from 库名 like  表名)

show table status from test3 like ‘students‘;

3.4 :查看表中所有列的字符集(show full columns from 表名;)

show full columns from test3.students;

注意:数值型的列没有 collation特性

四:修改相关的字符集

4.1.创建时指定字符集

建库时指定
create database db2 default character set=utf8
建表时指定
create table test1(id int(6),name char(10)) default character set = ‘gbk‘;

4.2修改相关字符集

修改全局字符集
/*建立连接使用的编码*/
set character_set_connection=utf8;
/*数据库的编码*/
set character_set_database=utf8;
/*结果集的编码*/
set character_set_results=utf8;
/*数据库服务器的编码*/
set character_set_server=utf8;

set character_set_system=utf8;

set collation_connection=utf8;

set collation_database=utf8;

set collation_server=utf8;

4.3 修改库的字符集(alter database 库名 default character set 字符集;)

mysql> show create database shiyan\G
*************************** 1. row ***************************
       Database: shiyan
Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

mysql> alter database shiyan default character set gbk;
Query OK, 1 row affected (0.00 sec)

4.4修改表字符集(alter table 表名 convert to character set 字符集;)

修改表的字符集
mysql> show create table test1\G
*************************** 1. row ***************************
       Table: test1
Create Table: CREATE TABLE `test1` (
  `id` int(6) DEFAULT NULL,
  `name` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk   #原字符集
1 row in set (0.00 sec)

mysql> alter table test1 convert to character set utf8;
Query OK, 0 rows affected (0.58 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show create table test1\G
*************************** 1. row ***************************
       Table: test1
Create Table: CREATE TABLE `test1` (
  `id` int(6) DEFAULT NULL,
  `name` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8   #修改后的字符集
1 row in set (0.00 sec)

 4.5修改字段的字符集(alter table 表名 modify 字段名 字段属性 character set gbk;)

alter table test1 modify name char(10) character set gbk;

五:案例分析

  当我们不知道因和原因创建的一个表(teacher),当我们向表中插入数据是发生乱码如下

  sql : INSERT INTO teacher(tid,class_id,NAME)VALUE(312,2,‘小明‘);

  

  

原文地址:https://www.cnblogs.com/jinliang374003909/p/10349884.html

时间: 2024-10-18 06:22:15

mysql之CREATE DATABASE Syntax(创建数据库)的相关文章

使用CREATE DATABASE语句创建数据库

本文参考了<Administrator's Guide >第二章中使用create database创建数据库的方式.一般而言,我们最先接触到的是使用dbca创建数据库,与之相比,使用create database 显得较为复杂. ----------------------------------------------------------------------------------------- 使用create database命令创建数据库需要经过如下步骤: 步骤1: 指定实例

基于Apache+php+mysql的许愿墙网站的搭建create database xyq; //创建xyq数据库

1.准备CentOS7与CentOS5的基础配置 2.在两台虚拟机中配置yum. 3.在CentOS7中安装httpd与php,在另一台虚拟机中安装mysql yum install mysql-server -y service mysqld restart  重启mysql 重启成功 4.将许愿墙网页放入CentOS7的/var/www/html 5.输入   mysql     进入数据库进行管理 6.输入create user 'kbz'@'192.168.100.104' identi

mysql5.7基础 create database...charset=... 创建一个新的数据库并指定它的字符编码

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.7                     os:Windows7 x64 代码及效果 mysql> create database newDB charset=utf8; Query OK, 1

mysql5.7基础 show create database... 查看一个数据库用的是什么字符编码

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.7                     os:Windows7 x64 代码及效果 mysql> show create database newbases; +----------+----

So Easy! Oracle在Linux上的安装配置系列三使用create database创建数据库

本文为So Easy! Oracle在Linux上的安装配置系列的第三篇,使用create database创建数据库,本序列第一篇介绍了学习实验环境的搭建包括:在win 7中使用VMware Workstation 创建虚拟机,安装CentOS-6.6-x86_64,网络配置 和使用xshell连接远程linux服务器,上传Oracle软件和使用操作系统安装光盘搭建本地yum源,第二篇专门说了Oracle11g R2在CentOS6.6上的安装,包括Oracle安装前的准备工作,并以图文详细介

数据库入门(mySQL):创建数据库

基于JetBrains DataGrip创建数据库.SQL语句创建数据库 MySQL数据库存储引擎和数据类型 创建数据库表及基本操作 导出数据库.删除数据库.导入数据库 一.基于JetBrains DataGrip创建数据库.SQL语句创建数据库 1.1 首先确定mySql服务处于开启状态(win10):右击“我的电脑”-“属性”-“系统和安全”-“管理工具”-“服务”: 如果没有显式正在运行:双击-"启动类型:手动"-“服务状态:启动”-“确定”.(IOS系统每次开机都是关闭状态的,

mysql用命令创建用户创建数据库设置权限

1.create database bbs; //创建数据库 2.create user bbs IDENTIFIED by 'bbs';  //创建用户bbs和登录密码bbs 3.grant ALL PRIVILEGES on bbs.*  to bbs ;    //设置用户权限

sql--select into,create database,create table,Constraints

SQL SELECT INTO 语句可用于创建表的备份复件.SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中.SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档. SQL SELECT INTO 语法 您可以把所有的列插入新表:SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename或者只把希望的列插入新表:SELECT column_name

2019-06-04 查询;创建数据库sql语句 操作命令

查询mysql中有多少数据库 show databases; 创建数据库:create database ry; 创建数据库字符集:create database ry character set utf8; 删除数据库:drop database ry; 给数据库改名:下面是链接: https://blog.csdn.net/tjcwt2011/article/details/79451764 原文地址:https://www.cnblogs.com/wbly2019/p/10972308.h