目录
1.简介
RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础
RDBMS 中的数据存储在被称为表的数据库对象中。
表是相关的数据项的集合,它由列和行组成。
MySQL 为关系型数据库
- 表头(header): 每一列的名称;
- 列(row): 具有相同数据类型的数据的集合;
- 行(col):每一行用来描述某个人/物的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key):表中用来识别某个特定的人\物的方法, 键的值在当前列中具有唯一性。
2.安装及使用
自行官网下载安装是一个程序员必备技能(本文适宜在WINDOWS下食用)
2.1创建系统服务及初始化
添加到系统服务
C:\mysql\bin\mysqld --install 或者替换成 --remove删除服务
启动服务 net start mysql
.\mysqld.exe
初始化
mysqld --initialize-insecure
2.2用户及权限
用户及授权
创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop user '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
修改密码
set password for '用户名'@'IP地址' = Password('新密码')
权限:
grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
*.* DB.*
grant select,insert,update on db1.t1 to 'alex'@'%';
grant all privileges on db1.t1 to 'alex'@'%';
revoke all privileges on db1.t1 from 'alex'@'%';
2.3utf-8 编码相关
MySQL默认不是使用utf-8,在后期使用时会遇到很多不必要的麻烦,这里通过修改一劳永逸~~
在mysql目录下创建文件my.ini
输入
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
使用show variables like 'character_set%';
查看字符集设置,显示如下
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
...
...
3.登陆及使用
3.1登录终端
mysql -uroot -p
输入密码登录
3.2创建数据库及表
使用 create database 语句可完成对数据库的创建,MySQL语句以分号(;)作为语句的结束
create database 数据库名 [其他选项];
create database dyeed; 创建dyeed数据库;库名不能超过64个字符
create database if not exists dyeed;
删除数据库
drop database dyeed;
3.3SHOW及使用帮助
SHOW DATABASES; 返回可用数据库
USE Database_name; 改变使用的数据库
SHOW TABLES; 返回数据库中的表
DESCRIBE Table_name; 返回表属性信息(字段名、类型、非空、键值、默认值)
SHOW COLUMNS FROM Table_name; 同DESCRIBE语句
SHOW STATUS; 显示服务器状态信息
SHOW WARNINGS; 显示警告或(ERRORS)
HELP SHOW; 显示SHOW帮助
3.4数据类型
- 数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal - 日期和时间: date、time、datetime、timestamp、year
- 字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
3.5创建表
使用 create table 语句完成对表的创建:
create table 表名称(列声明);
create table person
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
3.6增删改查
插入数据:
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
查询数据:
SELECT Columns1,Columns2, Columns3 FROM Table_name; 查询字段内容从表名
SELECT * FROM Table_name; 检索表的所有列
SELECT DISTINCT vend_id, prod_price FROM products; 去重复查询
where 关键词用于指定查询条件, 用法形式为:
select 列名称 from 表名称 where 条件;
更新数据:
update 表名称 set 列名称=新值 where 更新条件;
删除数据:
delete from 表名称 where 删除条件;