一、介绍:
mysql数据库管理软件:
套接字:服务端,客户端;客户端可访问服务端得数据
1.支持并发;操作得是共享得数据
2.处理锁,数据安全,性能
3.用别人得软件,得照着别人得规范,组织自己得语法规则
本章学得内容:
1.mysql基本管理
2.sql语句得学习
二、概述:
1、数据库服务器:运行数据库管理软件的计算机
2、数据库管理软件:mysql,oracle,db2,slqserver mysql被oracle 收购了
3、库:文件夹
4、表:文件
5、记录:事物一系列典型的特征:egon,male,18,oldgirl
6、数据:描述事物特征的符号
四、数据库管理软件分类:
分两大类:
关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
非关系型:mongodb,redis,memcache
可以简单的理解为:
关系型数据库需要有表结构,表结构 = 字段 + 数据类型 + 约束条件
非关系型数据库是key-value存储的,没有表结构
七、登录设置密码:
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
[root@egon ~]# mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用
[root@egon ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql 以root用户登录本机,密码为空
九、统一字符编码:
强调:配置文件中的注释可以有中文,但是配置项中不能出现中文
#在mysql的解压目录下,新建my.ini,然后配置
#1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
default-storage-engine=innodb
innodb_file_per_table=1
#解压的目录
basedir=E:\mysql-5.7.19-winx64
#data目录
datadir=E:\my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
#2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123
#3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
[mysql]
;port=3306
;default-character-set=utf8
user=egon
password=4573
#!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
统一字符编码
#1. 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#2. 重启服务 需以管理方式运行 net stop mysql net start mysql
#3. 查看修改结果:
\s
show variables like '%char%'
十、初识sql语句:
sql(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
SQL语言分为3种类型:
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
文件夹(库),文件(表),文件内容(记录);
1.操作文件夹(库):
增:create database db1 charset utf8
查:show create database db1;
show databases;
改:alter database db1 charset gbk;
删:drop database db1;
2.操作文件(表):
切换文件夹:
use db1;
select database();
增:create table t1(id int,name char);
查:show tables;
desc t1;
show create table t1;
show create table t1\G;
改:alter table t1 modify name char(6);
alter table t1 change name name1 char(7);
删:drop table t1;
3.操作文件内容(记录):
增:insert into t1(id,name) values(1,'alice1'),(2,'alice2'),(3,'alice3');
insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
查:select id,name from db1.t1;
select id from db1.t1;
select * from db1.t1; # 不推荐使用 * 效率低
改:update db1.t1 set name='alex';
update t1 set name='egon' where id=2;
删:delete from t1;
delete from t1 where id=2;