MySql基础讲解
Posted 维尼的木屋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql基础讲解相关的知识,希望对你有一定的参考价值。
前几天在学习Java连接数据库的时候,看到了mysql数据库。关于Mysql数据库的历史,我就不再这里啰嗦了,直接进入正题吧。
1.安装方法
首先来说说它的安装,由于安装则十分的简单,这里我就不再介绍了,直接点击下一步就可以。一般情况下,不要更改它的安装路径。直接选择默认就可以了。在安装的最后由于mysql默认选择的是3306的端口,假如你的电脑的端口被使用的话,那就要更改端口了。要不然连接数据库的时候会出错的,。安装过程十分的简单,这里就不再多说了。
2.mysql的环境变量.
(1)首先进入Mysql的安装目录下面.我的是安装在c盘下面,首先点击我的电脑---->属性--->高级特性--->
----------->如图所示.最后找到系统变量里面的环境
变量--------------->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.查看数据库当前引擎
------------------------------------------------------------------------------
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', '北京海淀');
--4. 进行多表查询,选择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;
--5. 查看数据库引擎类型
show create table users;
--6. 同表查询,已知一个条件的情况下.查询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
7. 查看表的结构:
mysql> show create users;
8.. mysql> desc users; 显示表的详细信息.
9.退出mysql操作界面使用quit或者是exit。你也可以用control-D退出。
10.第一条命令
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语句有点类似一门编程语句,通过表达式可以实现数据的运算.
11.一行多条命令.
mysql> SELECT USER(); SELECT NOW();
12.显示当前存在的数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 row in set (0.06 sec)
mysql>
13.选择数据库并显示当前选择的数据库
mysql> USE mysql
Database changed
mysql>
(USE 和 QUIT 命令不需要分号结束。)
mysql> select database();
14.显示当前数据库中存在的表
mysql> SHOW TABLES;
15.显示表里面的内容。
显示表(db)的内容
mysql>select * from db;
16.命令的取消
当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令
mysql> select
-> user()
-> c
mysql>
这是一些最常用的最基本的操作命令,通过多次练习就可以牢牢掌捂了
今天关于数据库-Mysql的基础知识就先说到这里,如果有什么不懂的后台留言。明天将会讲解一些操作技巧。
以上是关于MySql基础讲解的主要内容,如果未能解决你的问题,请参考以下文章