数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。

MySQL8的默认管理员账户 mysql默认管理员是什么_字段

三、MySQL

1、mysql的管理

安装

linux:

--yum -y install mariadb mariadb-server

OR--yum -y install mysql mysql-server

win:

--http://dev.mysql.com/downloads/mysql/

启动

--service mysqld start #开启--chkconfig mysqld on #设置开机自启

OR--systemctl start mariadb--systemctl enable mariadb

查看

-- ps aux |grep mysqld #查看进程-- netstat -an |grep 3306 #查看端口

设置密码

-- mysqladmin -uroot password '123' #设置初始密码,初始密码为空因此-p选项没有用-- mysqladmin -u root -p123 password '1234' #修改root用户密码

登录

-- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0.1

-- mysql -uroot -p1234 #本地登录,指定用户名和密码,用户为root@127.0.0.1

-- mysql -uroot -p1234 -h 192.168.31.95 #远程登录,用户为root@192.168.31.95

mysql的常用命令

--

--启动mysql服务与停止mysql服务命令:--

--net start mysql--net stop mysql--

--

--登陆与退出命令:--

-- mysql -h 服务器IP -P 端口号 -u 用户名 -p 密码 --prompt 命令提示符 --delimiter 指定分隔符-- mysql -h 127.0.0.1 -P 3306 -uroot -p123-- quit------exit----\q;--

--

-- \s; ------my.ini文件:[mysql] default-character-set=gbk [mysqld] character-set-server=gbk--

--prompt 命令提示符(\D:当前日期 \d:当前数据库 \u:当前用户)--

--\T(开始日志) \t(结束日志)--

--show warnings;--

-- help() ?\h--

--\G;--

-- selectnow();-- selectversion();-- selectuser;--

--\c 取消命令--

-- delimiter 指定分隔符

忘记密码怎么办?

方法1:启动mysql时,跳过授权表

[root@controller ~]# service mysqld stop
[root@controller~]# mysqld_safe --skip-grant-table &[root@controller~]# mysql
mysql> select user,host,password frommysql.user;+----------+-----------------------+-------------------------------------------+
| user | host | password |
+----------+-----------------------+-------------------------------------------+
| root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
| root | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+----------+-----------------------+-------------------------------------------+mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
mysql>flush privileges;
mysql>exit
[root@controller~]# service mysqld restart
[root@controller~]# mysql -uroot -p123

方法2(删库):

删除与权限相关的库mysql,所有的授权信息都丢失,主要用于测试数据库或者刚刚建库不久没有授权数据的情况(从删库到跑路)

[root@controller~]# rm -rf /var/lib/mysql/mysql
[root@controller~]# service mysqld restart
[root@controller~]# mysql

2、sql语句

sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。

在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sql。

2.1sql规范

<1> 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。建议命令大写,表名库名小写;

<2> SQL语句可单行或多行书写,以“;”结尾。关键词不能跨多行或简写。

<3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。

SELECT *FROM tb_table
WHERE NAME="YUAN";

<4> 注释:单行注释:--

多行注释:/*......*/

<5>sql语句可以折行操作

<6> DDL,DML和DCL

MySQL8的默认管理员账户 mysql默认管理员是什么_mysql_02

MySQL8的默认管理员账户 mysql默认管理员是什么_MySQL8的默认管理员账户_03

-- --SQL中 DML、DDL、DCL区别 .-- --DML(data manipulation language):--它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的--数据进行操作的语言--

-- --DDL(data definition language):--DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)--的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用--

-- --DCL(Data Control Language):--是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)--语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权-- 力执行DCL

View Code

2.2关于数据库操作的sql语句

-- 1.创建数据库(在磁盘上创建一个对应的文件夹)

create database [if not exists] db_name [character setxxx]-- 2.查看数据库

show databases;查看所有数据库

show create database db_name; 查看数据库的创建方式-- 3.修改数据库

alter database db_name [charactersetxxx]-- 4.删除数据库

drop database [ifexists] db_name;-- 5.使用数据库

切换数据库 use db_name;--注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换

查看当前使用的数据库select database();

2.3数据表的增删改查

创建一张表

--语法

create table tab_name(
field1 type[完整性约束条件],
field2 type,
...
fieldn type
)[characterset xxx];
--创建一个员工表employee
create table employee(
idintprimary key auto_increment ,
name varchar(20),
gender bitdefault 1, -- gender char(1) default 1 ----- 或者 TINYINT(1)
birthday date,
job varchar(20),
salarydouble(4,2) unsigned,
resume text--注意,这里作为最后一个字段不加逗号
);/*约束:

primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!

unique

not null

auto_increment :用于主键字段,主键字段必须是数字类型*/

查看表信息

desc tab_name 查看表结构

show columnsfromtab_name 查看表结构

show tables 查看当前数据库中的所有的表

show create table tab_name 查看当前数据库表建表语句

修改表结构

-- (1)增加列(字段)

alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];

alter table user add addr varchar(20) not null unique first/after username;

#添加多个字段

alter table users2

add addr varchar(20),

add ageintfirst,

add birth varchar(20) after name;-- (2)修改一列类型

alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];

alter table users2 modify age tinyintdefault 20;

alter table users2 modify ageintafter id;-- (3)修改列名

alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];

alter table users2 change age Ageint default 28first;-- (4)删除一列

alter table tab_name drop [column] 列名;--思考:删除多列呢?删一个填一个呢?

alter table users2

add salaryfloat(6,2) unsigned not nullafter name,

drop addr;-- (5)修改表名

rename table 表名 to 新表名;-- (6)修该表所用的字符集

alter table student characterset utf8;

删除表

drop table tab_name;