MySql入门基础讲解

MYSQL详解(持续更新) 去重语句: select distinct 列名 from 表名 字符类型转数值类型语句: select to_number('000123') from dual; 插入语句: insert into 表名 (字段) values (字段值) 新增表字段: alter table 表名 add (字段名 integer default 0 not null); 删除表字段: alter........................................ 阅读详情

前几天在学习Java连接数据库的时候,看到了Mysql数据库。关于Mysql数据库的历史,我就不再这里啰嗦了,直接进入正题吧。

首先来说说它的安装,由于安装则十分的简单,这里我就不再介绍了,直接点击下一步就可以。一般情况下,不要更改它的安装路径。直接选择默认就可以了。在安装的最后由于mysql默认选择的时3306的端口,假如你的电脑的端口被使用的话,那就要更改端口了。要不然连接数据库的时候会出错的,。安装过程十分的简单,这里就不再多说了。

2,其次我们来说下如何排至mysql的环境变量.

1.首先进入Mysql的安装目录下面.我的是安装在c盘下面,首先点击我的电脑---->属性--->高级特性--->

----------->如图所示.z最后找到系统变量里面的环境

变量--------------->path,将mysql的安装路径添加到下面就可以了。

 

在使用MySQL之前我们必须首先的要启动MySQL的服务程序,那么如何启动MySQL的服务了,下面介绍两种方法.

1.手动启动mysql服务程序。打开控制面板---->点击管理工具----->点击服务----->找到mysql服务名------>双击打开就可以了。这样就启动了mysql的服务了。

2.其次就是使用命令行的方式启动该服务了。但是这里一定要主要,该命令行一定要在管理员的权限下面进行,否则会抛出

找不到该服务的异常。一般的情况下面直接进入windos----system32下面有一个cmd.exe的文件,直接右点击用管理员的权限来运行就可以了。但是这样做非常的麻烦,直接在 注册表里面修改就可以了。然后每次打开cmd的时候就是按照管理员的权限

在运行的。注意在使用命令启动mysql的时候,一定要看看mysql的全名是什么,要不然是找不到服务的。

如下截图,表示Mysql服务已经启动成功了。

说明请求的服务已经启动了.

接下来就是对mysql数据库的一些操作了。

1.首先来看看如何进入MySQL,使用命令如下

表示已经进入到了mysql里面。在进入的时候,会要求我们输入密码,MySQL默认的管理员是root,也就是跟用户权限

该权限的级别是最高的。在次会提示要你输入密码,该密码就是你设置的密码。在安装mysql的时候设置的密码.

1.来介绍下mysql的命令。

1.show  databases;显示所有的数据库,注意结尾有一个分号,表示的就是该sql语句的结束.

2.create database name;创建数据库

3.use  database;进入数据库.

4.drop database name 直接删除数据库,不需要提示.

5.show  tables;显示数据库表,因为一个数据库会有很多张表,所以这里就是加了一个复数s

6.desc  tablesname;查看表的结构。

7.mysqladmin drop database  删除数据库之前有提示.

8.select   verdion(),current_date;显示当前mysql的版本和日期。

9.flush privileges  刷新mysql数据库。

MySQL下的命令。常用的命令。

首先来看看mysql的启动和停止。

net start Mysql80  启动mysql服务。

停止Mysql服务使用net stop mysql  

2.使用sttus;来查看MySQL的状态信息,来看看截图.

从上面可以看到MySQL的链接id  以及版本信息等等,自己可以去尝试下。

3.显示某一个表创建的全部信息

  使用  show  create table  table_name(也就是表名。)

可以看到里面的一些sql语句等等,

查看表的属性以及一些字段的描述。desc  +table_name(表名)就可以了。

 

三  。MySQL中的sql语句,我们可以看到在MySQL里面是部分大小写的,也就说不管大写还是

小写都是一样的。

1.数据库的创建  create database +数据库的名字;来创建一个数据库.

2.删除数据库  drop  database +数据库名字,删除的时候可以判断是否存在   代码如下  drop  database if exits  db-name

3.创建数据库表  代码如下  create table db_name  比如   create table mytable(id  int   ,username char(20));

4.删除表   drop  table table_name 比如  drop table mytable;

5.添加数据   insert into 表名(字段1,字段2,......)values(值1,值2.。。。。。)

例如   insert into mytable (id,username) values (1,’zhangsan’); 

6.查询表中的所有的数据   select * from   table_name

7.查询指定条件的数据   select 字段1 , 字段2 from table_name;   

比如   例 : select id,username from mytable where id=1 order by desc;多表查询语句-

8.更新指定数据 , 更新某一个字段的数据(注意,不是更新字段的名字) 
  Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段 顺序] 
  例 : update mytable set username=’lisi’ where id=1; 
  Order语句是查询的顺序 , 如 : order by id desc(或asc) , 顺序有两种 : desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select 与删除delete

9.删除表里面的信息

 删除整个表中的信息 : delete from table_name; 

10.   删除表中指定条件的语句 : delete from table_name where 条件语句 ; 条件语句如 : id=3; 

 

11.一次可以创建多个数据库用户如: 
  CREATE USER username1 identified BY ‘password’ , username2 IDENTIFIED BY ‘password’…. 
. 

12.查看数据库当前引擎 
   SHOW CREATE TABLE table_name;

 

SQL语句运用实例.

--1 建users表 
  create table users (id int primary key auto_increment,nikename varchar(20) not null unique,password varchar(100) not null,address varchar(200), reg_date timestamp not null default CURRENT_TIMESTAMP); 

--2 建articles表,在建表时设置外键 
  create table articles (id int primary key auto_increment,content longtext not null,userid int,constraint foreign key (userid) references users(id) on delete set null); 

--2.1 建articles表,建表时不设置外键 
   create table articles (id int primary key auto_increment,content longtext not null,userid int); 
  --2.2 给articles表设置外键 
   alter table articles add constraint foreign key (userid) references users(id) on delete set null; 
.

--3. 向users表中插入数据,同时插入多条 
  insert into users (id,nikename,password,address) values (1,'lyh1','1234',null),(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678', '北京海淀');

--5. 进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息 
  select articles.id,articles.content,users.* from users,articles where users.id=10 and articles.userid=users.id order by articles.id desc; 

--6. 查看数据库引擎类型 
  show create table users; 

--8. 同表查询,已知一个条件的情况下.查询ID号大于用户lyh1的ID号的所有用户 
  select a.id,a.nikename,a.address from users a,users b where b.nikename='lyh1' and a.id>b.id; 
  ------也可写成 
  select id,nikename,address from users where id>(select id from users where nikename='lyh1'); 

mysql> select * from users; 
  +--------+----------+ 
  | userid | username | 
  +--------+----------+ 
  | 2 | ???? | 
  | 3 | ???? | 
  | 4 | ?í?ù | 
  +--------+----------+ 
  3 rows in set (0.00 sec) 
  表中的中文字符位乱码。 
  解决办法: 
  使用命令: 
  mysql> status; 
  -------------- 
  mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32) 
   
  Connection id: 8 
  Current database: test 
  Current user: root@localhost 
  SSL: Not in use 
  Using delimiter: ; 
  Server version: 5.0.45-community-nt MySQL Community Edition (GPL) 
  Protocol version: 10 
  Connection: localhost via TCP/IP 
  Server characterset: latin1 
  Db characterset: latin1 
  Client characterset: gbk 
  Conn. characterset: gbk 
  TCP port: 3306 
  Uptime: 7 hours 39 min 19 sec 
  Threads: 2 Questions: 174 Slow queries: 0 Opens: 57 Flush tables: 1 Open ta 
  bles: 1 Queries per second avg: 0.006 
  -------------- 
  查看mysql发现Server characterset,Db characterset的字符集设成了latin1,所以出现中文乱码。 
   
  mysql> show tables; 
  +----------------+ 
  | Tables_in_test | 
  +----------------+ 
  | users | 
  +----------------+ 
  1 row in set (0.00 sec) 
   
  更改表的字符集。 
  mysql> alter table users character set GBK; 
  Query OK, 3 rows affected (0.08 sec) 
  Records: 3 Duplicates: 0 Warnings: 0 

 

12  查看表的结构: 
  mysql> show create users; 

13.  mysql> desc users;  显示表的详细信息.

14.退出mysql操作界面使用quit或者是exit。你也可以用control-D退出。

4、第一条命令

mysql> select version(),current_date(); 
+----------------+-----------------+ 
| version() | current_date() | 
+----------------+-----------------+ 
| 3.23.25a-debug | 2001-05-17 | 
+----------------+-----------------+ 
1 row in set (0.01 sec) 
mysql>

 

练习,看看下面的输出分别是什么

mysql>Select (20+5)*4; 
mysql>Select (20+5)*4,sin(pi()/3); 
mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result) 

结果很是出人分意外,mysql语句有点类似一门编程语句,通过表达式可以实现数据的运算.

16一行多条命令.

mysql> SELECT USER(); SELECT NOW(); 

17.

7、显示当前存在的数据库

mysql> show databases; 
+----------+ 
| Database | 
+----------+ 
| mysql | 
| test | 
+----------+ 
2 row in set (0.06 sec) 
mysql>

18.

8、选择数据库并显示当前选择的数据库

mysql> USE mysql 
Database changed 
mysql> 
(USE 和 QUIT 命令不需要分号结束。) 
mysql> select database(); 

20.9、显示当前数据库中存在的表 
mysql> SHOW TABLES;

21.显示表里面的内容。

显示表(db)的内容 
mysql>select * from db;

 

11、命令的取消

当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令

mysql> select 
-> user() 
-> c 
mysql>

这是一些最常用的最基本的操作命令,通过多次练习就可以牢牢掌捂了

一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。
也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。

二、显示命令
1、显示当前数据库服务器中的数据库列表:
mysql> SHOW DATABASES;
注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。


2、显示数据库中的数据表:
mysql> USE 库名;
mysql> SHOW TABLES;


3、显示数据表的结构:
mysql> DESCRIBE 表名;


4、建立数据库:
mysql> CREATE DATABASE 库名;


5、建立数据表:
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));


6、删除数据库:
mysql> DROP DATABASE 库名;


7、删除数据表:
mysql> DROP TABLE 表名;


8、将表中记录清空:
mysql> DELETE FROM 表名;


9、显示表中的记录:
mysql> SELECT * FROM 表名;


10、往表中插入记录:
mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);


11、更新表中数据:
mysql-> UPDATE 表名 SET 字段名1=’a',字段名2=’b’ WHERE 字段名3=’c';


12、用文本方式将数据装入数据表中:
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;


13、导入.sql文件命令:
mysql> USE 数据库名;
mysql> SOURCE d:/mysql.s

14、命令行修改root密码:
mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;


15、显示use的数据库名:
mysql> SELECT DATABASE();

三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school;           //建立库SCHOOL
use school;   //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ‘深圳’,
year date
); //建表结束

//以下为插入字段
insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);
insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);

输出的结果如下截图.

以上就是一些数据库的基本的操作了。注意平时的时候多使用就可以,掌握这些就够了.

sql语句是一门很复杂的语言。学完了需要时间,其实也没必要。以后慢慢的学.

 

 

在VB中怎样将ACCESS的数据导出导入到EXCEL中 主  题:   在VB中 阅读详情

相关推荐

vb中怎样将excel表导入到access中

Private   Sub   Command1_Click()         Text1.Text   =   App.Path   &   "/123.xls"           EXCEL文件         Text2.Text   =   App.Path   &   "/123.mdb"           数据库         Text3.Text   =   "sheet

xch2125535的专栏 3845

MySQL详解

数据库(DB,DataBase)概念:数据仓库,软件,安装在操作系统之上;SQL,可以存储大量的数据,500万以下,500万以上要做索引优化作用存储数据,管理数据MySQL是一个关系型数据库管理系统前世瑞典MySQLAB公司今生属于Oracle旗下产品MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系型数据库管理系统)应用软件之一,开源的数据库软件体积小、速度快、总体拥有成本低,招人成本比较低,所有人必须会方法一方法二。...

江南、寻你的博客 5万+

AD9026芯片开发实战指南:从硬件配置到射频校准

本文为AD9026芯片开发实战指南,详细解析了从硬件设计、电源时钟配置、SPI初始化到多芯片同步与JESD204高速链路建立的完整流程。重点探讨了射频校准技术,包括初始化校准与跟踪校准,以保障5G、MIMO等现代通信系统所需的射频性能。旨在帮助开发者系统掌握这颗高性能射频收发器的应用,规避常见设计陷阱。

tomato的博客 851

MySQL最全讲解

对mysql的语法以及存储引擎、索引原理、锁机制、逻辑存储结构等进行了非常详细的叙述,小白也能看懂.

thefristking的博客 1602

手把手调试:如何为高通Hypervisor上的GuestOS添加一个自定义的HAB服务通道

本文详细介绍了如何在高通Hypervisor环境下为GuestOS添加自定义HAB服务通道的全过程。从HAB通信框架的核心概念解析到设备树节点的动态注入机制,再到物理通道的内核层实现和用户层测试,提供了完整的开发案例和调试技巧,帮助开发者高效构建定制化通信服务。

weixin_27066963的博客 371

验证(uvm常见问题)--子类和父类的句柄和对象问题

sv中的子类和父类 在sv中,有如下两个类,child继承于parent。然后在test module中,正确转换的方法如下面所示。其中c1,c2,p1 都指向了同一个子类的对象c1。总结如下: 一个子类的对象是包括子类的成员变量,方法和父类的成员变量,方法。 子类的句柄c1可以直接赋值给父类的句柄p1,此时p1只可以访问父类的成员变量和方法,或者子类的虚方法,比如下面调用p1.display是...

q876507447的博客 7631

MySQL基础大全(看这一篇足够!!!)

自己看MySQL的总结,一方面加深自己的记忆,一方面与君共享

weixin_35856285的博客 2万+

CXL协议-第三章 CXL事务层

CXL.io为I/O设备提供了一个非一致的负载/存储接口。图3-1显示了Flex总线分层层次结构中的位置。事务类型、事务分组格式、基于信用的流量控制、虚拟通道管理和事务排序规则遵循PCIe*定义,详情请参考PCIe基础规范的“事务层规范”章节。本章重点介绍了用于CXL.io的著名的PCIe操作模式或特性。

qq_41305217的博客 2769

excel 导入到access 提示索引或主关键字不能为空 但是表中的主关键字列并不是空的

excel导入到access 提示索引或主关键字不能为空但是表中的主关键字列并不是空的,因为我的表中就只有一条记录,错误排查了好久才弄好,原来是因为我把excel当成一个数据库进行操作的时候,居然自动把末尾的空行也进行了导入操作,空行的索引列当然为空了,所以一直提示这个问题! 解决办法:从excel中select 的时候加上where索引 is not null 附加将excel 导入到

pingxiaoyudi的专栏 4772

对话系统简介

《文本上的算法》学习笔记1、问答型1.1、基于语义分析的方法1.2、基于信息抽取的方法1.3、端对端的方法2、任务型2.1、生成式模型( Generative Model )2.2、判别式模型( Discrimitive Model )2.3、规则系统3、闲聊型3.1、规则方法3.2、生成模型3.3、检索方法 个人认为NLP领域最难的方向可以说是阅读理解与文本生成/摘要,而对话系统,尤其是闲聊常常...

盘一哈nlp 6751

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 153

VB6将Excel中的数据导入到Access数据库 代码求解

```Dim Row As Integer CD1.Filter = "Excel文件(*.xls)|*.xls" CD1.ShowOpen If Trim(CD1.FileName) <> "" Then Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = New Excel.Appl

weixin_47188547的博客 1474

基于coze studio开源框架二次定制开发教程

CozeStudio是一站式AIAgent开发工具,支持大模型接入、智能体编排、工作流开发等功能。采用Golang+React技术栈,基于微服务架构设计。项目包含后端API、领域逻辑、前端应用等模块,支持自定义任务流节点开发。开发流程涵盖前后端节点定义、实现逻辑编写等步骤,提供完整的开发规范和参考文档。相比商业版,开源版本在功能上有所精简,但仍保留核心开发能力。

coding change your life 790

一段将EXCEL上传到ACCESS中的代码,在本地服务器测试通过,上传到远程服务器后不行了

此程序实现的目的是:     将用户在UI界面中提交的EXCEL文件传到ACCESS数据库对应的栏位中。 已有程序在本地IIS5.1 + 127.0.0.1环境下,已经能够实现。 可是上传到远程服务器后,再上传时,就报错:“您选择的EXCEL中无数据,或您未关闭EXCEL文件!”。 代码如下: ......前面省略 on error resume next   if 

201

计算机视觉与深度学习 | 基于Matlab的多特征融合可视化指纹识别系统(附完整代码)

此系统展示了一个完整的指纹识别流程,实际应用中可以根据需求进一步优化算法,如改进方向场计算、增加脊线频率特征、使用更精确的匹配算法等。

尘世冰封的专栏 359

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文本、Excel、Access数据导入SQL Server2000技巧

    昨天参加一个项目的维护,因为各种原因,数据在不同服务器上不一致,所以需要重新将数据库清空一次,并将整理后的数据重新导入。需导入的数据源为文本文件,记录以行存储,“,”逗号分割各字段,每个字段值用“”双引号封闭。如下所示:"AWU","102300","ZX240-3","2609997000","2609997000","3016924000","","3091775000",

软件设计师到程序员 4489

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ASP.NET 2.0中直接将Access数据库导入到Excel文件中

  <!--google_ad_client = "pub-7125490308680267";google_ad_width = 300;google_ad_height = 250;google_ad_format = "30

费剑的博客 511

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

excel数据导入sql server ,"文本被截断"错误

excel文件里面的某一单元格文本非常长,在导入SQL Server 2008或2010时,会出现如下错误: - 正在执行 (错误) 消息 错误 0xc020901c: 数据流任务 1: 输出“Excel 源输出”(9) 上的 输出列“F6”(30) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。” 解决方法:先

2020 死磕自己 突破自我 7365

asp中如何实现导入客户端Excel文件数据至服务器端Access数据库

First of all, I haven'tgive a solution tothis question:)前几天帮同学忙的时候遇到这样一个问题要处理,就是客户端选择某个Excel文件然后点击"导入"就可以实现导入Excel中数据到服务器端Access数据库中。我想这个问题纯粹是用asp是没法解决的了,因为需要涉及操作读取客户端的文件,首先想到的便是使用OCX,因为以前用Delphi写过...

weixin_30951743的博客 210

php将excel数据导入mysql表中_【PHP】将EXCEL表中的数据轻松导入Mysql数据表

在网络上有不较多的方法,在此介绍我已经验证的方法。方法一、利用EXCEL表本身的功能生成SQL代码①、先在“phpmyadmin”中建立数据库与表(数据库:excel,数据表:excel01,字段:id,name,sex,professional,address)[创建好的数据表:excel01]②、把excel数据表中的数据,进行整理。(该表中的数据字段与数据库表中的字段是相对应的)[excel...

weixin_31663397的博客 416

{ASP}从Excel导入到Access中

{ASP}从Excel导入到Access中 dim conn2        定义第二个连接变量On Error Resume NextServer.ScriptTimeOut = 999999       超时时间set conn=CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;

露露专栏 859

QT将Excel表导入到access数据库

需求,将excel表格信息导入到Access数据库 QString m_file =QFileDialog::getOpenFileName(this, "打开", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation), "表格文件( *.xls)"); if(UIDemo01::getFromExcel(...

kangshuaibing的博客 1197

将EXCEL 数据导入到ACCESS中的代码

excel导入数据库的代码excel导入数据库的代码 ...... excel导入数据库的代码 using XFXOA; using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data .OleDb ; using System.Drawing

得峰的专栏 [网络收藏] 3722

excel导入到access

1.新建access文件EXCEL_TO_ACCESS.mdb 2.打开新建的EXCEL_TO_ACCESS.mdb 3.File ->Get External Data ->Import Files of type 选择Microsoft Excel(*.xls), File name 选择相应的文件 4.在Import Spreadsheet Wizard 中  a)选择需要导入

lwei_998的专栏 990

Excel数据导入到Access,Sql Server中示例代码

将Excel中的数据导入到Access中,前提是在Access中的表已经建好。dim conndim conn2set conn=CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:/book1.m

刘皓天的收藏夹 968
上一篇: Java的集合
下一篇: Java连接mysql数据库
hackerbaseing
博客等级 码龄8年 19粉丝 63原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值