数据库:数据管理软件,数据

数据库发展:层次模型-------------网状模型----------------关系模型-------------对象-关系模型

DBMS: 数据库管理系统

RDBMS:关系型数据库管理系统

        数据库的常用功能:

Managing storage:数据存储

Maintaining security:安全管理

Maintaining metadata:管理原数据

Managing  transactions 管理事务

Supporting connectivity:检索

Optimizing performance:性能优化

Providing back-up and recovery mechanisms:提供备份和恢复

Processing request for data retrieval and modification:提供数据检索和修改的请求

DataBase:开发DBA:主要工作:数据库设计,存储过程,存储函数,触发器

         管理DBA:数据库的升级、备份、恢复、安装、卸载,用户管理,安全管理,架构设计

SQL 结构化查询语言

查询 语句:select , update , delete

ANSI  SQL 标准: SQL-86--------SQL-89--------SQL-92--------SQL-99--------SQL-2003

                Core SQL

RDBMS: 大型 Oracle , Sybase , Informix , DB2   中型: SQL Server  开源MySQLPostgreSQLà EnterpriseDB

MySQL  Community 社区版 免费

MySQL  Enterprise  企业版  收费

mysq-基础及一些命令_mysql 

客户端连接器:Connectors连接器:

Native C API JABC, ODBC,  .NET, PHP , Perl , Python, Ruby,  Cobol

mysq-基础及一些命令_模型_02

DML  数据操作语言 DDL 数据定义语言  parser 分析器 optimizer

pluggable storage engines 存储引擎 

一般安装需要的软件包,打对号的是需要安装的,其他的依情况

mysq-基础及一些命令_数据库_03

linux下Mysql启动次序:

mysq-基础及一些命令_模型_04

如果启动时my.cnf都找到,则以他们的和,如果前者和后者冲突则,以后者为准, 如果mysql home没有设置则自动设置为basedir 

windows mysql 启动次序:

mysq-基础及一些命令_模型_05

MySQL安装完后默认生成5个用户分别是:root@127.0.0.1 ,  root@localhost , root@hostname , 两匿名用户 ‘’@localhost ,  ‘’@hostname

SHOW TABLES 查看数据库表

use mysql 更改默认某个数据库(如mysql

DESC 表名  查看表内容

SELECT * FROM 表名  查看表信息

FLUSH PRIVILEGES 立即生效

SELECT DATABASE() 显示当前默认数据库

DROP DATABASES 数据库表名  删除某个表

SHOW CHARACTER SE\C 显示支持的字符集

SHOW COLLATION  现在字符集

SHOW CURRENT_DATE 显示日期

SHOW CURRENT_DATETIME()  显示时间

SHOW WARNINGS 查看警告

SHOW ENGINES 显示存储引擎

SHOW VARIABLES LIKE “%sql_mode%” 模式

SET sql_mode=         设置模式

 例:SET sql_mode=”STRICT_all_tables” 严格模式,

     常用的模式: ANSI 只能使用单引号 STRICT_ALL_TABLES严格模式,禁止非法数据插入; TRADITIONAL 默认模式

mysql变量类型:

 全局变量: 对每一个新建的会话都生效

会话变量:只对当前会话有效

      SHOW GLOBAL VARIALES 全局会话显示

      SHOW SESSION VARIABLES 当前会话显示

例:     SHOW GLOBAL VARIALES LIKE “%time%” 在全局中查含time字符

mysql> CREATE DATABASE IF NOT EXISTS aa; 如果不存在aa则创建,脚本中用

mysql> CREATE DATABASE IF NOT EXISTS aa CHARACTER SET ‘gbk’; 创建aa字符集为gbk

mysql> SHOW CREATE DATABASE aa; 查看创建aa的命令

 mysql> DROP DATABASE IF EXISTS aa; 存在aa则删除

改变:

   mysql>

主键: key :侯选键 ;主键 primary key ; 唯一键 unique key ;外键 foreign key

设置密码:共有三种:

  1. # mysqladmin –uroot –hlocalhost password ‘redhat’  
  2.  
  3. mysql> SET PASSWORD FOR ‘root’@’host_name’=   PASSWORD(‘’);  
  4.  
  5. mysql > UPDATE mysql.user SET Password=PASSW(‘REDHAT’ WHERE User=’root’ and Host=’127.0.0.1’; 

  授权: GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘redha’

       FLUSH PRIVIEGES;

 登录mysql

mysql –uroot –h 127.0.0.1 –p

常用选项: --user=  --password=  --host=  --protocol (tcp ,socket, )  -D db_name

           这样连接需要输入密码,如要不输入密码可以在.my.cf中加入以下内容:

                     [client]

                      user=root

                      password=redhat 

删除用户: DROP USER ‘’@localhost’root’@localhost

忘记密码解决方法:

  1. #service mysqld stop  
  2. # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  
  3. #mysql  
  4. mysql> SET PASSWORD FOR ‘root’@’host_name’=   PASSWORD(‘’); 

Linux中执行批处理文件: # mysql –uroot –p < test.sql   test.sql写数据脚本

            mysql> SOURCE /root/test.sql

注:在mysql中写完一条命令需要用分号结尾,表示在服务端执行,不加分号在客户端执行 

MySQL常用的客户端工具:mysql  

数据库对象:

        表, 索引,视图,触发器,存储过程,存储函数,事件调度器,游标,用户

 

 \q 退出mysql  \h 帮助  \c 取消命令  \d 重新定义结束符  \g 忽略结束符 \G 竖排显示

 -E设置默认使用竖排显示

  1. #mysql –e “SHOW DATABASES” 在Shell中执行MySQL命令  
  2. #mysql –e “SELECT User, Host,Password FROM mysql.user;”  这里必须加mysql.字符,否则会出错 

 

  光标跳转:  Ctrul-e   Ctrul-a  Ctrul-u  Ctrul-y  Ctrl-w

 命令补全功能: mysql> \# rehash打开补全功能

 

mysqladmin –uroot –p ping  测试状态              mysqladmin drop 删除数据库

mysqladmin debug 日志                  mysqladmin create sample 常见sample数据库

mysqladmin extended-status 显示mysql运行状态  mysqladmin flush-hosts 手动刷新日志

mysqladmin flush-privileges 刷新权限           mysqladmin flush-tables

mysqladmin processlist查看当前连接状态           mysqladmin reload

mysqladmin shutdown 关闭数据库               mysqladmin start-slave 从服务器启动

mysqladmin status  显示状态                    mysqladmin stop-slave 从服务器关闭

mysqladmin version 现在版本

       mysqladmin status –sleep 3 –count 2 3秒,显示2

MySQL图形化工具: SQLyog , MySQL Front , phpMyAdmin , MySQL Query Browser, MySQL Administartor ,  MySQL Workbench 

mysq-基础及一些命令_sleep_06 

SHOW TABLES 查看数据库表

use mysql 更改默认某个数据库(如mysql

DESC 表名  查看表内容

SELECT * FROM 表名  查看表信息

FLUSH PRIVILEGES 立即生效

SELECT DATABASE() 显示当前默认数据库

DROP DATABASES 数据库表名  删除某个表

SHOW CHARACTER SE\C 显示支持的字符集

SHOW COLLATION  现在字符集

SHOW CURRENT_DATE 显示日期

SHOW CURRENT_DATETIME()  显示时间

SHOW WARNINGS 查看警告

SHOW ENGINES 显示存储引擎

SHOW VARIABLES LIKE “%sql_mode%” 模式

SET sql_mode=         设置模式

 例:SET sql_mode=”STRICT_all_tables” 严格模式,

     常用的模式: ANSI 只能使用单引号 STRICT_ALL_TABLES严格模式,禁止非法数据插入; TRADITIONAL 默认模式

 

mysql变量类型:

 全局变量: 对每一个新建的会话都生效

会话变量:只对当前会话有效

      SHOW GLOBAL VARIALES 全局会话显示

      SHOW SESSION VARIABLES 当前会话显示

例:     SHOW GLOBAL VARIALES LIKE “%time%” 在全局中查含time字符

 

mysql> CREATE DATABASE IF NOT EXISTS aa; 如果不存在aa则创建,脚本中用

mysql> CREATE DATABASE IF NOT EXISTS aa CHARACTER SET ‘gbk’; 创建aa字符集为gbk

mysql> SHOW CREATE DATABASE aa; 查看创建aa的命令

 mysql> DROP DATABASE IF EXISTS aa; 存在aa则删除

改变:

   mysql>

 

 

主键: key :侯选键 ;主键 primary key ; 唯一键 unique key ;外键 foreign key

 

 

设置密码:共有三种:

 

  # mysqladmin –uroot –hlocalhost password ‘redhat’

    mysql> SET PASSWORD FOR ‘root’@’host_name’=   PASSWORD(‘’);

    mysql > UPDATE mysql.user SET Password=PASSW(‘REDHAT’ WHERE User=’root’ and Host=’127.0.0.1’;

授权: GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘redha’

       FLUSH PRIVIEGES;

 登录mysql

mysql –uroot –h 127.0.0.1 –p

常用选项: --user=  --password=  --host=  --protocol (tcp ,socket, )  -D db_name

           这样连接需要输入密码,如要不输入密码可以在.my.cf中加入以下内容:

                     [client]

                      user=root

                      password=redhat 

删除用户: DROP USER ‘’@localhost’root’@localhost

忘记密码解决方法:

  1. #service mysqld stop  
  2.  
  3. # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  
  4.  
  5. #mysql  
  6.  
  7. mysql> SET PASSWORD FOR ‘root’@’host_name’=   PASSWORD(‘’); 

 

Linux中执行批处理文件: # mysql –uroot –p < test.sql   test.sql写数据脚本

            mysql> SOURCE /root/test.sql

注:在mysql中写完一条命令需要用分号结尾,表示在服务端执行,不加分号在客户端执行 

MySQL常用的客户端工具:mysql  

数据库对象:

        表, 索引,视图,触发器,存储过程,存储函数,事件调度器,游标,用户

 

 \q 退出mysql  \h 帮助  \c 取消命令  \d 重新定义结束符  \g 忽略结束符 \G 竖排显示

 -E设置默认使用竖排显示

 

             #mysql –e “SHOW DATABASES” Shell中执行MySQL命令

             #mysql –e “SELECT User, Host,Password FROM mysql.user;”  这里必须加mysql.字符,否则会出错

光标跳转:  Ctrul-e   Ctrul-a  Ctrul-u  Ctrul-y  Ctrl-w

 命令补全功能: mysql> \# rehash打开补全功能

 

mysqladmin –uroot –p ping  测试状态              mysqladmin drop 删除数据库

mysqladmin debug 日志                  mysqladmin create sample 常见sample数据库

mysqladmin extended-status 显示mysql运行状态  mysqladmin flush-hosts 手动刷新日志

mysqladmin flush-privileges 刷新权限           mysqladmin flush-tables

mysqladmin processlist查看当前连接状态           mysqladmin reload

mysqladmin shutdown 关闭数据库               mysqladmin start-slave 从服务器启动

mysqladmin status  显示状态                    mysqladmin stop-slave 从服务器关闭

mysqladmin version 现在版本

       mysqladmin status –sleep 3 –count 2 3秒,显示2

MySQL图形化工具: SQLyog , MySQL Front , phpMyAdmin , MySQL Query Browser, MySQL Administartor ,  MySQL Workbench