初识数据库
- 数据库的基本概念
- 初次体验数据库
数据库的基本概念
-
DB:数据库(database):存储数据的“仓库”,他保存了一系列有组织的数据
-
DBMS:(DataBase Management System):数据库管理系统。数据库是通过DBMS创建和操作的容器
-
SQL:结构化查询语言(Structure Query Languaga) :专门用来与数据库通信的语言。
MySQL下载
- //mysql
windows平台下载:http://dev.mysql.com/downloads/mysql
初次使用体验
1.启动服务和停止服务
方式一:计算机---右键端粒---服务
方式二:通过管理员身份运行
net start 服务名(启动服务)
net stop 服务名(停止服务)
//例如:net stop mysql10815
//例如:net start mysql10815
/*例如:
C:\WINDOWS\system32>net stop mysqlqing
MySQLqing 服务正在停止.
MySQLqing 服务已成功停止。
C:\WINDOWS\system32>net start mysqlqing
MySQLqing 服务正在启动 .
MySQLqing 服务已经启动成功。
C:\WINDOWS\system32>net stop mysqlqing
MySQLqing 服务正在停止.
MySQLqing 服务已成功停止。
C:\WINDOWS\system32>
*/
2.MySQL 服务端的登录和退出[客户端连接数据库]
方式一:通过mysql自带的客户端
只限于root用户
方式二:通过windows自带的客户端
登录:
mysql 【-h主机名 -p端口号】 -u用户名 -p密码
》登录:
//方式一登录:这样是要显式密码登录
mysql -h localhost -P 3306 -u root -p
//-h (host) -P (port) -u(user) -p(password)
//方式二:不希望是密码登露
mysql -h localhost -P 3306 -u root -proot
》退出
exit或者ctr+c
3.MySQL配置环境变量
找到MySQL Server5.5\bin----》计算机---》系统属性---》环境变量--》Path--》将路径粘到最前面,用英文分号与其他的分隔开
4.Mysql常见命令介绍
1)查看当前所有的数据库
show databases;
2)打开指定的库
use 库名
3)查看当前库的所有表
show tables;
4)查看其他库的所有表;
show tables from 库名
5)创建表
create table 表名(
列名字 类型,
列名字 类型,
.....
);
6)查看表的结构
desc 表名;
7)查看服务器的版本
方式一:登录到mysql服务器
select version();
方式二:没有登录到mysql服务器
mysql --version
或
mysql -V
>show databases;//查看当前所有的数据库
>use test;//打开test库
>show tables;
>show tables form mysql;
>select database();//这个是判断目前在哪个库下面
>create table stuinfo(id int, name varchar(20));
>desc stuinfo;//查看上一行命令创建的表
>select * from stuinfo;//查看表中数据
>insert into stuifo(id,name) values(1,"john");
>update stufinfo set name='llilei' where id=1;
>delete fron stuinfo where id=1;
>select version();//[或者在退出mysql后,输入:mysql --version 这样也查看版本]
>select database();//查看当前在哪个数据库中
//以上命令的执行结果
/*
》
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.13 sec)
【自己】:
information_schema:保存元数据信息
mysql:保存用户信息的
performance_schema:搜集性能信息性能参数的。
test:测试数据库,空的,没有表格,你可以在里面去建表,也可以修改库,删除库
************************************************
》 mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)
》
mysql> show tables from mysql;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.04 sec)
》
mysql> select database();
+------------+
| database() |
+------------+
| test |
+------------+
1 row in set (0.00 sec)
》
mysql> create table stuinfo(
-> id int,
-> name varchar(20));
Query OK, 0 rows affected (0.28 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| stuinfo |
+----------------+
1 row in set (0.00 sec)
mysql> desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.03 sec)
》
mysql> select * from stuinfo;
Empty set (0.00 sec)
mysql> insert into stuinfo (id,name) values(1,"john");
Query OK, 1 row affected (0.09 sec)
mysql> insert into stuinfo (id,name) values(2,"rose");
Query OK, 1 row affected (0.07 sec)
》
mysql> select * from stuinfo;
+------+------+
| id | name |
+------+------+
| 1 | john |
| 2 | rose |
+------+------+
2 rows in set (0.00 sec)
》
mysql> update stuinfo set name="lilei" where id=1;
Query OK, 1 row affected (0.18 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from stuinfo;
+------+-------+
| id | name |
+------+-------+
| 1 | lilei |
| 2 | rose |
+------+-------+
2 rows in set (0.00 sec)
》
mysql> select * from stuinfo;
+------+------+
| id | name |
+------+------+
| 2 | rose |
+------+------+
1 row in set (0.00 sec)
》
mysql> delete from stuinfo where id =1;
Query OK, 1 row affected (0.08 sec)
mysql> select * from stuinfo;
+------+------+
| id | name |
+------+------+
| 2 | rose |
+------+------+
1 row in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.49 |
+-----------+
1 row in set (0.06 sec)
*/
语法规范
/*###MySQL的语法规范
1.不区分大小写,但建议关键字大写,表名、列表名小写
2.每条命令最好用分号结尾
3.每条命令根据需要,进行缩进或换行
4.注释:
单行注释(方式一):#注释文字
单行注释(方式二):#【空格】注释文字
多行注释:"/*注释文字*/"
*/