一、MySQL简介
MySQL是一种小型关系型数据库,被广泛用于中小企业。其主要特点就是开放源码。其它基础查看MySQL百度百科(如果想多做了解)。
二、MySQL基本使用
1、登录MySQL
在MySQL安装时如果设置了密码,那么直接执行命令登录就可以了。如果没有设置密码,需要先查看MySQL初始密码,执行如下指令(MySQL安装成功的前提下)。
sudo tail /etc/mysql/debian.cnf
password后边的字符串就是MySQL初始密码。
①登录MySQL
mysql -u root(用户名) -p(密码,不要有空格,或者-p后直接enter键再输入密码)
输入MySQL登录密码即可。
②修改MySQL下root用户登录密码
不需要先登录mysql就可修改密码
mysqladmin -u root -p password (要修改的密码)
登录mysql后修改密码
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
或者
SET PASSWORD FOR root=PASSWORD('123456');
MySQL启动和关闭
service mysql start MySQL启动
service mysql stop MySQL停止
2、MySQL使用
>查看初始数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
>数据库的CURD(增删改查)
1、数据库创建
①创建名为Test的数据库
mysql> create database Test;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Test |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
② 创建一个使用utf-8字符集的Test2数据库(解决数据库中存入汉字不能正常显示的问题)。
mysql> create database Test2 character set utf8;
Query OK, 1 row affected (0.00 sec)
③创建一个使用utf-8字符集,并带校对规则的Test3数据库。会对存入的数据进行检查。
mysql> create database Test3 character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
③显示创建数据库的语句信息
mysql> show create database Test
show create database Test
mysql> show create database Test3;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| Test3 | CREATE DATABASE `Test3` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)
2、数据库的删除
删除数据库Test3
mysql> drop database Test3;
Query OK, 0 rows affected (0.05 sec)
3、数据库的修改
修改数据库(将Test的字符集设为 utf8,默认语言集是 latin1)
mysql> alter database Test character set utf8;
Query OK, 1 row affected (0.04 sec)
4、数据库的查看
查看MySQL中有哪些数据库。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Test |
| Test2 |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
>数据库中表的CURD
使用一个数据库(使用Test2)
mysql> use Test2
Database changed
1、创建表
创建表的名字为 people ,表中分别有 id 和 name 字段,字段类型分别为 int 和 varchar()。
mysql> create table people(id int, name varchar(20));
Query OK, 0 rows affected (0.21 sec)
查看刚刚创建表的表结构
mysql> desc people;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
MySQL中的数据类型
bit:1位 可以指定位数,如:bit(3)
int:2字节 可以指定最大位数,如:int<4> 最大为4位的整数
float:2个字节 可以指定最大的位数和最大的小数位数(如:float<5,2> 最大为一个5位的数,小数位最多2位 )
double:4个字节 可以指定最大的位数和最大的小数位数,如:float<6,4>:最大为一个6位的数,小数位最多4位
char:必须指定字符数,如char(5) 为不可变字符 即使存储的内容为’ab’,也是用5个字符的空间存储这个数据
varchar:必须指定字符数,如varchar(5) 为可变字符 如果存储的内容为’ab’,占用2个字符的空间;如果为’abc’,则占用3个字符的空间
text:大文本(大字符串)
blob:二进制大数据 如图片,音频文件,视频文件
date