数据库是按照一定结构来组织、存储和管理数据的仓库。数据库提供了增加、删除、修改、查看、搜索、创建等API,方便通过命令来操作数据。
execl就可以说是个简单的数据库,只是excel有着强大的可视化的界面。而数据库管理数据一般是通过SQL语言。
数据以表格的形式出现;
每行有各种数据值;ID、name、age:就是一行;
每列对应相同的数据类型(关系型数据库);id、name、age就是三个列;
每行可以有多个列,列和行组成一张表;
很多表组成一个数据库databases;
一台数据库管理系统下面,有多个数据库。
在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL基本操作
1.登陆数据:
mysql -uroot -ppassword
-u是用户名,-p是密码,中间不要有空格;
2.显示所有的数据库
SHOW DATABASES;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| codelieche |
| dede_cms |
| mysql |
| performance_schema |
+--------------------+
5 rows in set (0.04 sec)
3.选择使用的数据库
USE codelieche;
mysql> use codelieche;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
4.查看database中的表
SHOW TABLES;
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| user |
| user2 |
+------------------+
2 rows in set (0.00 sec)
5.创建数据库
CREATE DATABASE testdb ;
CREATE DATABASE testdb CHARSET UTF8;
mysql> CREATE DATABASE testdb CHARSET UTF8;
Query OK, 1 row affected (0.00 sec)
6. 创建一张表
先使用刚刚创建的test对比,然后创建一张user(id,name,age)表
USE testdb;
-- 创建表
CREATE TABLE user(
ID bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(20) DEFAULT NULL,
age int(3) DEFAULT NULL,
PRIMARY KEY(ID)
);
-- 查看表信息
SHOW CREATE table user;
-- 查看表所有的列
SHOW FULL COLUMNS from user;
7.插入数据
INSERT INTO user(name,age) VALUES('code','18');
mysql> INSERT INTO user(name,age) VALUES('code','18');
Query OK, 1 row affected (0.00 sec)
8.查询数据
SELECT * FROM user;
-- 常用方式
SELECT name,age FROM user;
-- 列取个别名方式
SELECT name as "名字" , age as "年龄" FROM user;
mysql> SELECT name as "名字" , age as "年龄" FROM user;
+---------+--------+
| 名字 | 年龄 |
+---------+--------+
| code3 | 20 |
| code2 | 19 |
| code | 18 |
| code6 | 26 |
| code10 | 30 |
| code40 | 60 |
| code666 | 666 |
+---------+--------+
7 rows in set (0.00 sec)
9.修改数据
UPDATE user SET name='编程列车',age='1' where name='code666';
10.删除数据
-- 删除指定条件数据
DELETE FROM user WHERE name='code40';
-- 删除表中全部数据:写日志,数据可以恢复,速度慢,危险
DELETE FROM user;
-- 清空全部数据,不写日志,不可以恢复,速度极快,【危险,慎用!!!】
TRUNCATE table table_name;
11.删除表
DROP TABLE user2;
12.删除数据库
DROP DATABASE testdb;
mysql> DROP table user2;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| user |
+------------------+
1 row in set (0.00 sec)
mysql> DROP DATABASE testdb;
Query OK, 0 rows affected (0.04 sec)