2 数据库入门
2.1引入
数据保存到内存:
优点:
1)读写非常快
缺点:
1)程序关闭导致数据丢失
数据保存到文件:
优点:
1)数据可以永久保存
缺点:
1)频繁地IO操作,效率不高!
2)数据管理不方便。例如查询某个数据需要全部读取出来,再匹配。
数据保存到数据库软件:
优点:
1)数据永久保存下来
2)数据管理非常方便。(例如查询非常快速和方便)
数据可以说是企业的灵魂!!
2.2什么是数据库软件
数据库,俗称数据的仓库。方便管理数据的软件(或程序)。
2.3市面上数据库软件
Oracle,甲骨文公司的产品。当前最流行应用最广泛的数据库软件。和java语言兼容非常好。
适合中大型,中大应用。
SQLServer: 是微软公司的产品。window平台应用非常广泛。和c#,net平台兼容非常好。
DB2: IBM公司的产品。IBM服务器--> UNIX -> DB2- > Websphere
MySQL:开源组织的产品。甲骨文公司的产品。免费!!!和java语言兼容非常好!适合中小企业,中小应 用
关系型数据库。
MongoDB:非关系型数据库。
先学mysql,后面再学oracle
2.4MySQL入门
1)到mysql官网下载。
2)安装mysql软件
3)使用
验证是否成功
打开cmd -> 输入 mysql -u root -p 回车 -> 输入密码 回车
C:\Users\APPle>mysql -u root -p
Enter password: **** 看到如下界面说明安装成功了!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.40 MySQL CommunityServer (GPL)
Copyright (c) 2000, 2014, Oracle and/or itsaffiliates. All rights reserved.
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarksof their respective
owners.
Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.
mysql>
3 MySQL数据库
3.1mysql数据存储结构
先数据库,再表,再有数据
其实是客户端向服务器发送sql数据,服务器返回响应的数据给客户端。这里服务器返回的是一张张的表。
4 数据库管理
4.1查询所有数据库
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | -- mysql元数据,基础数据 | mysql | --mysql配置数据库,其中包含用户信息。(用户名和密码,权限管理) | performance_schema | --mysql数据库软件的运行数据,日志信息,性能数据 | test | --测试数据库。空的 +--------------------+ 4 rows in set (0.00 sec) |
4.2创建数据库
mysql> create database day15 -- 指定默认字符集创建数据库 -> default character set utf8 -> ; Query OK, 1 row affected (0.00 sec)
删除数据库: drop database day15(数据库的名称); |
4.3查看数据库的默认字符集
mysql> show create database day15; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | day15 | CREATE DATABASE `day15` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+----------------------------------------------------------------+ 1 row in set (0.00 sec) |
4.4删除数据库
mysql> drop database day15; Query OK, 0 rows affected (0.01 sec) |
4.5修改数据库
mysql> alter database day15 default character set gbk; 这里修改了数据库的儿编码集 Query OK, 1 row affected (0.00 sec) |
5 表管理
第一步就要选择数据库,选择查看哪个数据库下面的表
5.1 查看所有表
mysql> show tables; +-----------------+ | Tables_in_day15 | +-----------------+ | student | +-----------------+ 1 row in set (0.00 sec) |
use day15(数据库名称) 表示使用哪个数据库
5.2 创建表
mysql> create table student[A1] ( -> sname varchar(20)[A4] , -> sage int 最后一个字段不要逗号。 -> ); Query OK, 0 rows affected (0.01 sec) |
5.3 查看表结构
mysql> desc student; -------查看表详细结构 desc 表名; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | sid | int(11) | YES | | NULL | | | sname | varchar(20) | YES | | NULL | | | sage | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec) |
5.4删除表
mysql> drop table student; drop table 表名; Query OK, 0 rows affected (0.01 sec) |
5.5修改表
1)添加字段
可以发现,添加column语句是在这个表里面添加行,而不是列。 但是称之为添加了一列
mysql> alter table student add column sgender varchar(2); Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | sid | int(11) | YES | | NULL | | | sname | varchar(20) | YES | | NULL | | | sage | int(11) | YES | | NULL | | | remark | varchar(20) | YES | | NULL | | | sgender | varchar(2) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 可以发现多了一行数据,我们还是称之为添加了一列。alter table student add column 字段名字 字段类型; 且column可省略。效果一样。 |
2)删除字段
mysql> alter table student drop column sgender; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 |
3)修改字段类型
mysql> alter table student modify column remark varchar(100); Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0 |
4)修改字段名称
mysql> alter table student change column sgender(旧字段) gender(新字段) varchar(2); Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 |
5)修改表名称
mysql> alter table student rename to teacher; Query OK, 0 rows affected (0.01 sec) |
下一篇使用
Sqlyog对数据库进行增删改数据。