数据库可以持久化数据到本地当中,结构化查询。
三个基本名词:
① DB:数据库,存储数据的容器。
② DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB。
③ SQL:结构化查询语言,用于和数据库通信的语言,几乎所有的主流数据库软件通用的语言。
首先,如何知道自己的MySQL的版本
1、直接登录,可以看到
2、使用命令:
select version();
查看mysql版本:
MariaDB [(none)]> select version(); -> ; ERROR 1054 (42S22): Unknown column 'version();' in 'field list' MariaDB [(none)]> select version(); +----------------+ | version() | +----------------+ | 5.5.68-MariaDB | +----------------+ 1 row in set (0.00 sec)
卸载mysql:将启动脚本,复制、配置文件进行删除就可以(mysql的安装可看之前的文章)。
[root@localhost ~]# cat uninstall_binary_mysql.sh #!/bin/bash #停止mysqld服务 service mysqld stop #删除用户 userdel -r mysql #删除数据目录和base目录 rm -rf /usr/local/mysql rm -rf /data/ rm -rf /etc/init.d/mysqld rm -rf /etc/my.cnf
mysql升级的原理:
1、安装新版本的MySQL
2、停止旧版本的mysql
3、导出旧版本的MySQL里的数据,导入刷新的MySQL里
4、启动新的MySQL
有时候如果需要停止业务。
如:12306晚上十一点后只能查询车票,不能购买车票,只能读不能写。
系统进行升级原理:重新安装一遍,是要新的版本。新版本修复了bug,增加了新功能。
mysqld_safe和mysqld的关系:
父子进程。mysqld_safe管理mysqld。mysqld进程是工作进程。
查找是产生的一个MySQL进程:ps -aux|grep mysql
[root@sc-mysql ~]# ps -aux|grep mysql root 7712 0.0 0.0 112824 988 pts/0 R+ 11:11 0:00 grep --color=auto mysql
以下列举一些常见常用到的sql语句:
设置系统变量:@@sql_mode
在实际工作中,在mysql中写入sql语句,首先应该设置系统变量@@sql_mode。如果不设置,一些操作会导致非法数据进入到表中,表现出和ORACLE等其他数据库完全不同的行为。
为了和ORACLE保持一致,可以在数据库的配置文件my.cnf中添加下面配置:
[mysqld] sql_mode=‘STRICT_TRANS_TABLES, # STRICT_TRANS_TABLES:在这个模式下,如果一个值不能插入到一个事物表当中,则中断当前的操作,对于非事物表不做限制。必须设置,以后各项可能依赖于该项的设置。 NO_ENGINE_SUBSTITUTION, ONLY_FULL_GROUP_BY, #NO_ENGINE_SUBSTITUTION :如果需要的存储引擎被禁用或者为贬低 NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, PIPES_AS_CONCAT,ANSI_QUOTES’
登录数据库的指令为:
mysql -u 用户名 -p 比如mysql -u root -p 或者mysql -u sc -p'xxx' 其中的xxx为密码。
1、创建数据库:
create database + 库名;
2、查看有哪些数据库:
show databases;
3、进入数据库
use +数据库名;
4、查看有哪些数据库表:
show tables;
5、创建数据库表:
create table user( id int primary key auto_increment, username varchar(256) not null, #varchar:可变的string类型,最大存放256个字节 age int not null, hobby varchar(256) ) charset=utf8;
6、修改表的编码方式:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8;
7、查看表结构:
desc 表名; show create table 表名;
8、删除数据库:
drop table 表名;
9、往数据表中添加字段:
insert into 表名(字段名,字段名,字段名)vlaue(字段值、字段值、字段值);
例如:insert into user(username,age,hobby) value('sc',18,'排球');
10、插入单个字段:alter 表名 add 字段类型(字段长度);
alter table sc_student add name varchar(20);
11、查看记录:
查看多个记录:
select * from 表名
查看单个记录:
select 字段 ,字段 from 表名;
例如:select username,age from 表名;
12、删除特定记录
delete from user where username='sc';
13、指定存储引擎为什么类型
这里是myisam类型的存储引擎:
create table 表名 (id int) engine=myisam;
14、查看表中有哪些存储引擎
show engines;
15、查看存储引擎为什么类型
show create table 表名;
16、查看字符集
show character set;
17、查询你的mysql字符集中有哪些变量
show variables; show variables\G;以表格形式显示
18、过滤出mysql中与字符集相关的变量
show variables like "%CHARACTER%"; root@(none) 09:57 mysql>show variables like "%CHARACTER%"; +--------------------------+----------------------------------+ | 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 mysql系统的 | | character_set_system | utf8 Linux系统的 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+
19、给指定用户所有的权限
grant replication slave on *.* to 'renxj'@'192.168.2.%' identified by 'Sanchuang1234#';