首页 > 数据库 >MySQL----数据库的安装、创建

MySQL----数据库的安装、创建

时间:2023-05-05 23:00:45浏览次数:42  
标签:utf8 set 字符集 数据库 MySQL character ---- mysql


一、MySQL的安装

。。。。。

 

二、MySQL实例的创建

注意:停掉MySQL的服务(我的电脑---管理---服务)

 

如果实例一次创建不成功,第二次创建时会遇到如下错误:

mysql安装出现error Nr.1045



我们在windows下安装mysql时会出现Access denied for user 'root'@localhost'(using password:No)的问题,这个问题是因为你的机器上之前安装过mysql,或者这 一次安装配置了新密码,进入应用的最后一步时候由于某些原因卡出了或者由于服务未启动等原因导致无法配置成功,最终结果是,配置未成功,密码设置已经保存 进去了。这样我们调整好了服务等原因后,进行重新配置的时候,会发现在设置密码的时候,多了一个旧密码输入框。其实这也没什么,在密码知道的情况下,输入 旧密码重新设置密码并不难,而问题关键在于即使旧密码正确,你依旧无法完成配置,在最后一个环节密码认证的时候又出错了,出错原因是密码问题,提示旧密码 不对。
 

MySQL----数据库的安装、创建_开发工具

解决办法:
1.管理工具---服务里面停止Mysql服务。
2.控制面板---卸载Mysql,删除C:\Program Files\MySQL目录.
3.这是最关键一步,只做前面两步,密码还是修改不了,因为MySQL 还有文件,也就是在C:\Documents and Settings\All Users\Application Data里面的MySQL文件夹,这个文件没有清除是MySQL重装出现旧密码的根源所在。于是删除MySQL文件夹。
4.检查C:\WINDOWS目录下是否有my.ini文件,将其删除
5.注册表里的HEKY_LOCAL_MACHINE,SOFTWARE,MYSQL删除
       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除

注意:删除完毕后,再次安装创建实例时,还会出现让输入老密码的选项框,可不填直接输入新密码



三、MySQL数据库的创建

MySQL的交互终端mysql  command  Line  client(类似cmd)创建数据库

输入密码登陆:创建实例时设置的密码

 

MySQL中的字符集转换过程

 1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;

 2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

    使用每个数据字段的CHARACTER SET设定值;

   若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);

     若上述值不存在,则使用对应数据库的DEFAULTCHARACTER SET设定值;

   若上述值不存在,则使用character_set_server设定值。

 3. 将操作结果从内部操作字符集转换为character_set_results。

 

查看字符集:

查看mysql系统默认字符集---------show variables like 'character%';

查看mysql系统默认排序方式 -----show variables like 'collation_%';

查看mysql所支持的所有字符集---show charset;

查看当前数据库编码-----------------show create database  db_name;

查看表编码-----------------------------show create table         t_name;

查看字段编码--------------------------show full columns from t_name;

 

修改字符集:

一、设置编码my.ini:

    在[client]下添加 default-character-set=utf8 

    在[mysqld]下添加 default-character-set=utf8

二、用mysql命令修改编码 :(注意:只是终端当前操作的修改,再次打开终端还需要修改)

 set character_set_client=utf8; //客户端字符集

 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;    //服务器校对

  setnames 字符集;同时修改character_set_client/character_set_connection/character_set_results字符集.

三、创建对象时设置字符集:

1 创建数据库指定数据库的字符集

    create  database  mydb default character set utf8 collate utf8_general_ci

    create  database if not exists mydb default character set utf8 collate utf8_general_ci;

2 创建表时指定表字符集    

    create  table table_name (id int unsigned) default character set utf8 collate utf8_general_ci;

3 创建字段时指定字符集

    create  table table_name2 (id int,name char(10) character set utf8 collate utf8_general_ci);

 保存,重启mysql即可;

四、追加修改:

修改数据库的字符集:

    -----alter  database mydb character set utf-8(utf8) collate utf8_general_ci;

修改表的字符集:

      1)把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

                                                      alter table tbl_name convert to character set character_name[collate ...]

      2)只是修改表的默认字符集: alter table tbl_name default character set character_name[collate...];

修改字段的字符集:alter table t_name change c_name c_name character set character_name [collate ...];

 


1. --显示所有的数据库  
2.   
3. mysql>
4. +--------------------+  
5. | Database           |  
6. +--------------------+  
7. | information_schema |  
8. | mysql              |  
9. | test               |  
10. +--------------------+  
11. 3 rows in set (0.09 sec)  
12.   
13. --创建一个数据库test2  
14.   
15. mysql>
16. Query OK, 1 row affected (0.00 sec)  
17.   
18. --使用数据库test2  
19.   
20. mysql>
21. Database changed  
22.   
23. --显示test2中的所有表  
24.   
25. mysql>
26. Empty set (0.00 sec)  
27.   
28. --创建一个mytable表  
29.   
30. mysql>
31. >
32. Query OK, 0 rows affected (0.14 sec)  
33.   
34. --显示数据库中的所有表  
35.   
36. mysql>
37. +-----------------+  
38. | Tables_in_test2 |  
39. +-----------------+  
40. | mytable         |  
41. +-----------------+  
42. 1 row in set (0.02 sec)  
43.   
44. --显示表结构  
45.   
46. mysql>
47. +-----------+-------------+------+-----+---------+-------+  
48. | Field     | Type        | Null | Key | Default | Extra |  
49. +-----------+-------------+------+-----+---------+-------+  
50. | name      | varchar(20) | YES  |     | NULL    |       |  
51. | sex       | char(1)     | YES  |     | NULL    |       |  
52. | birth     | date        | YES  |     | NULL    |       |  
53. | birthaddr | varchar(20) | YES  |     | NULL    |       |  
54. +-----------+-------------+------+-----+---------+-------+  
55. 4 rows in set (0.07 sec)  
56.   
57. --查询表的所有字段  
58.   
59. mysql>
60. Empty set (0.00 sec)  
61.   
62. --向表中插入一条记录  
63.   
64. mysql>
65. >
66. >
67. Query OK, 1 row affected (0.08 sec)  
68.   
69. --查看表的记录  
70.   
71. mysql>
72. +------+------+------------+-----------+  
73. | name | sex  | birth      | birthaddr |  
74. +------+------+------------+-----------+  
75. | abc  | f    | 1988-07-07 | chian     |  
76. +------+------+------------+-----------+  
77. 1 row in set (0.00 sec)

MyEclipse 连接数据库、操作数据库(是上面的test1)

 

第一步 打开Database

 

第二步 创建连接

 

在空白处右击鼠标新建(即new)或者点击菜单栏中的快捷键(图二中向下的三角符号)新建。弹出Database Driver 菜单见(图三)

 

第三步 选择连接方式

在Driver template选项框中 选择MySql Connector/j 如,图四

 

第四步 填写配置信息

Driver name:链接数据库的名称(这个可由自己喜好填写,建议和所做项目名称相关便于使用时查找)

Connection URL:连接要使用mysql数据库的地址

(jdbc:mysql://<hostname>[<:3306>]/<dbname>)可改为(jdbc:mysql://localhost:3306/test)

其中localhost表示的是连接本地数据库的意思,3306是表示连接mysql数据库的端口号(不同的数据库端口号也不相同),

User name 填写数据库用户名mysql默认的是root

Password填写访问mysql数据库时的你所设置的访问密码。如,图五

 

第五步 添加驱动

点击Add JARs添加myeclipse连接mysql数据库的驱动文件(存放驱动的文件最好是英文目录,在测试时确定mysql数据库已经打开,否则测试不会成功),在这里添加的是mysql-connector-java-5.1.7-bin版本(可以在网上搜索下载、)

 

第六步 测试数据配置是否正确

点击Test Driver测试是否配置成功,输入访问数据库密码

 

第七步 测试成功

测试连接mysql数据库成功,点击Finish完成创建连接

 

第八歩 连接数据库

右击你创建的连接点击Open another connection  输入mysql数据库密码就能看到所创建的数据库表

 

 

 

 

 

 

标签:utf8,set,字符集,数据库,MySQL,character,----,mysql
From: https://blog.51cto.com/iwtxokhtd/6248021

相关文章

  • Alpha阶段项目复审
    这个作业属于哪个课程2023软件工程-双学位作业要求团队作业6——复审与事后分析项目团队下岗工人在就业队目录1.Alpha阶段项目复审1.Alpha阶段项目复审小组的名字和链接优点缺点,bug报告最终名次(无并列)啊对对对队(课表小程序)面对市场用户需求较多,产......
  • JAVA8新特性
    JAVA8新特性Lambda表达式只有函数式接口才能使用Lambda表达式​ Lambda表达式是JDK8中的一个语法糖,它可以对某些匿名内部类的写法进行简化,它是函数式编程思想的一个重要体现,让我们不用关注是什么对象,而是更关注我们对数据进行了什么操作。核心原则​ 可推导可省略基本格......
  • python练习-简单计算器
    #*_*coding:utf8*_*#简单计算器importtkinterfromfunctoolsimportpartial#按钮输入调用defget_input(entry1,argu):#从entry窗口展示中获取输入的内容input_data=entry1.get()#合法运算符:+-*/--**//+-#------------输入合法性判断的......
  • 2023.5.5 《动手学深度学习》第3、4章
    今天继续学习《动手学习深度学习》第3章:线性神经网络、第4章:多层感知机,今天学到的内容主要有这两章的概念,另外,完成了Kaggle房价预测的代码复现(Kaggle_HousePricePrediction.ipynb)。一、理论部分:1、概念解释:超参数:可以调整但不在训练过程中更新的参数称为超参数2、DL操作数......
  • python基础学习-文件
    """文件操作open()打开open(name,mode,encoding)name:文件名,文件所在的路径mode:文件访问模式,只读r,写入w(文件存在,从开头开始编辑,原有内容会删除,不存在,创建),追加a(文件存在,从已有内容之后进行编辑,不存在,创建)读写encoding:编码格式"""#打开文件f=open("demo.txt","r",encoding="......
  • python基础学习-字典
    """字典dict定义:元素是键值对,key不能重复,不能使用下标索引,key是除字典外其他类型,value为任意类型,可嵌套,可修改,支持for循环,不支持while循环#字面量{key:value,key:value,key:value}#定义变量变量名称={key:value,key:value,key:value}#定义空列表变量名称=dict(......
  • 5.5
          请定义一个分数类,拥有两个整数的私有数据成员,分别表示分子和分母(分母永远为正数,符号通过分子表示)。     重载运算符加号"+",实现两个分数的相加,所得结果必须是最简分数。输入:    第一行的两个数分别表示第一个分数的分子和分母(分母不为......
  • 16QAM调制解调系统相位盲估计matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要16QAM是指包含16种符号的QAM调制方式。       16QAM是用两路独立的正交4ASK信号叠加而成,4ASK是用多电平信号去键控载波而得到的信号。它是2ASK调制的推广,和2ASK相比,这种调制的优点在于信息传......
  • day1 hadopp安装与使用-前期准备【上】
    【OS】先说明一下,本人正处于大二下,之前一直学的又水又混乱,突发奇想开个博客来记录一下方便自己日后回顾。所写皆为本人自己查阅资料or询问老师所得,非官方,不保熟,路过的家人们可以和我多多探讨,在上手时还是建议参考大佬的帖子。完毕! 【参考教材】大数据基础编程、实验和案例教程......
  • 第14天打卡
    问题: 源代码:#include<iostream>using namespace std;int main(){for(int i=95859+1;i<100000;i++){int a=i/10000,b=i/1000%10,c=i/10%10,d=i%10;if(a==d&&b==c){cout<<i;break;}}} ......