mySQL基本知识

回顾
一、MySQL的安装和配置  : 监听在3306
1.启动服务: windows 服务管理器, mysqld-nt --console
2.停止:mysqladmin -uroot -p shutdown
二、MySQL管理
1.数据库产品
    |-- 数据库(分类存储数据)
       |-- 表
            |-- 行(记录)  列(字段)
    |-- DBMS数据库管理系统  数据库的用户通过DBMS来存取数据,管理数据
    |-- 命令行客户端:
2. 客户端连接到服务器:mysql [-h 数据库服务器的IP或名] -u 用户名 -p 密码
3. 退出:quit   exit
★4. SQL: 结构化查询语言 操作数据库的标准语言 SQL92 SQL1999 SQL2003 SQL200n
   SELECT * FROM 表 WHERE 条件;
   1)分类: DDL,DML(CRUD),DCL,Transaction Control
   2)数据库操作:SHOW DATABASES; USE 数据库名;
           CREATE DATABASE 数据库名; DROP DATABASE 数据库名;
5.数据列的类型
 数值: INT LONGINT, FLOAT(M,D), DOUBLE(M,D), DECIMAL(M,D)
 字符:  CHAR(L), VARCHAR(L), BLOB, TEXT, LONGBLOB,LONGTEXT
 日期和时间: DATE,TIME,DATETIME,TIMESTAMP
6.数据表的操作
 1) SHOW TABLES;
 2) CREATE TABLE 表名(
    列名 列类型 [列约束: NOT NULL,UNIQUE,PRIMAR KEY,FOREIGN KEY,CKECK] [AUTO_INCREMENT] [DEFAULT 默认值],
    ...
    [表约束: UNIQUE, PRIMARY KEY, FOREIGN KEY]
   )[ENGINEE=表类型:InnoDB,MyISAM][DEFAULT CHARSET=字符集:utf8,gbk];
  3) DESC 表名;  #查看表的结构
  4) ALTER TABLE 表名 [modify,add,change,drop]...;
  5) DROP TABLE [IS EXISTS] 表名;
  6) ALTER TABLE 表名 RENAME 新表名; RENAME 表名 TO 新表名;
7.帮助:? contents , ? 关键字
三、运算符
 算术:+ - * / DIV %MOD
 比较:> >= < <= <> ,IN (值1,值2...), BETWEEN 值1 AND 值2, IS NULL, IS NOT NULL, LIKE '%_', REGEXP RLIKE
 逻辑:NOT AND OR
 优先级:()
 
★四、数据表的DML
 1. INSERT INTO 表名[(列名,...)] VALUES(值1,值2...);
 2. UPDATE 表名 SET 列名=新值,... WHERE 条件表达式;
 3. DELETE FROM 表名 WHERE 条件表达式;
 4. SELECT {* | 列名 AS 别名} FROM 表名
   WHERE 条件表达式(可能使用逻辑运算符,但不能使用组函数)
   GROUP BY 分组的列
   HAVING 分组后的条件过滤(组函数:COUNT(*), COUNT(列), SUM(数值列), AVG(数据列), MAX(列),MIN(列))
   ORDER BY 排序列[ASC|DESC],...
   LIMIT [偏移量,]最大返回的记录数;  (数据分页)
 5. 多表联接查询
  1) 内连接 SELECT 列(可以是所有参与连接的表的列) FROM 表1
        [INNER] JOIN 表2
        ON 表连接条件
        WHERE 条件表达式;
  2) 外连接
   a)左外连接
    SELECT 列 FROM 表1
     LEFT [OUT] JOIN 表2
     ON 表连接条件
     WHERE 条件表达式;
   b)右外连接
    SELECT 列 FROM 表1
     RIGHT [OUT] JOIN 表2
     ON 表连接条件
     WHERE 条件表达式;
   c)全连接
    SELECT 列 FROM 表1
     FULL JOIN 表2
     ON 表连接条件
     WHERE 条件表达式;
  3) 交叉连接
   SELECT 列 FROM 表1
     CROSS JOIN 表2;
     
  4) 自连接 自已跟自己做连接 通过取别名
 
 6. 子查询 在SELECT中嵌入了select语句

五、字符集
 ascii 128个 美式字符集
 iso-8859-1(latin1) 西欧字符集 255个字符
 gb2312 7千多个简体汉字
 gbk 2万多个汉字 中文常用
 utf-8 unicode字符集中最流行的一种实现方式  国际化用它

六、数据库设计 Sybase powerdesigner12.5
 CDM 概念模型:来自用户的需求:   --在数据建模中用E-R图表示
  实体(Entity)-属性(Attribute)
  实体之间的关系:一对一、一对多、多对一、多对多
 PDM 物理模型:数据库库表设计:
  表 - 列(字段)
  外键引用

七、事务--一组不可分割的SQL操作
 事务的ACID属性:原子性、一致性、隔离性、持久性
 MySQL的事务控制:
  SET AUTOCOMMIT=0;
   sql的操作;
  COMMIT; #ROLLBACK;
  SET AUTOCOMMIT=1;

八、索引(INDEX) create index 索引名 ON 表名(列(length)...);
九、视图(View)虚表 create view 视图名 AS select语句;
十、存储过程和函数
 DELIMITER //
 CREATE PROCEDURE 过程名(参数列表)   #IN,OUT,INOUT
  BEGIN
   SQL语句
  END //
 DELIMITER ;
 
 DELIMITER //
 CREATE FUNCTION 函数名(参数列表) RETURNS 返回值类型   #参数名 类型
  BEGIN
   SQL语句
  END //
 DELIMITER ;

十一、触发器(trigger)
 当某张表上发生特定事件触发的一段SQL程序
 CREATE TRIGGER 名
  {BEFORE | AFTER}
  {INSER | UPDATE | DELETE}
 ON 表名
 FOR EACH ROW 要触发的SQL语句;
 
十二、权限管理
 GRANT 权限类型
  ON 对象类型
  TO 用户对象[IDENTIFIED BY '密码']
  [WITH GRANT OPTION];
 
 REVOKE 权限类型
  ON 对象类型
  FROM 用户对象;
  
 DROP USER 用户名;
 
十三、数据的导入导出
 导出: mysqldump.exe命令 
  例:mysqldump -u 用户名 -p -c 数据库名 > 目的地名
 导入: mysql.exe命令
  例:mysql -u 用户名 -p 数据库名 < SQL文件名
 导入也可以MySQL客户端中进行
  mysql> source SQL文件名;
 
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值