MySQL语言 刚需

1.数据库增删改查
创建数据库
CREATE DATABASE IF NOT EXISTS 库名

 使用数据库
 
        USE 库名
		
 查看数据库
        SHOW DATABASES;
		
 删除数据库
        DROP DATABASE IF EXISTS 库名

显示所有表
SHOW TABLES ;

2.数据表增删改查

 创建数据表
     CREATE TABLE 表名(
	     字段+数据类型
	 )ENGINE=INNDB CHARSET=utf8
 
 修改表名
     ALTER TABLE 旧表名 RENAME AS 新表名
	 
 添加字段
     ALTER TABLE 表名 ADD  字段名 数据类型;
 
 修改字段属性                             不为空
     ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;
 
 同时修改字段名和列属性
     ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新列数据类型
 
 删除字段	 
 ALTER TABLE 表名 DROP 字段名
 
 显示表结构
 DESC 表名
 
 显示表创建语句
 SHOW CREATE TANLE 表名
 
 删除表
 DROP TABLE 表名

连接查询:

 内连接 :查询两个表中的 结果中的 交集
      INNER JOIN
 左(外)连接 :以左表作为基准,右边表来一一匹配,匹配不上的,返回左表的记录,右表以null填充
      LEFT JOIN
 右(外)连接 :以右表作为基准,左边表来一一匹配,匹配不上的,返回右表的记录。左表以null填充
      RIGHT JOIN 

单一字段排序order by 字段名称
作用: 通过哪个或哪些字段进行排序
含义: 排序采用 order by 子句,order by 后面跟上排序字段,
排序字段可以放多个,多个采用逗号间隔,order by默认采用升序(asc),
如果存在 where 子句,那么 order by 必须放到where 语句后面。

        例:按照薪水由小到大排序(系统默认由小到大) 
           示例:select ename,sal from emp order by sal; 

外键添加删除
提示 : 删除具有主外键关系的表时,先删除字表,再删除主表
我创建外键约束
alter table stuent add CONSTRAINT 外键名 FOREIGN KEY(字段名) REFERENCES 表名(字段名)
删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名 如果还在是因为有索引
ALTER TABLE 表名 DROP index 外键名 删除索引
结构化查询分类
DDL(数据定义语言):定义和管理数据对象 例如数据库 数据表

DML(数据操作语言): 已有的字段才能插入
inster into 表名 (字段名) values(值)
更新字段
update 表名 set 字段名1=值,字段名2=值,…[WHERE 条件]
删除表中字段
delete from 表名 [WHERE 条件]

DQL(数据查询语言)	:
                     select [distinct] 字段1,字段2,....
                     from table
                     [where 条件]
                     [group by 字段]
                     [having 条件]
                     [order by 字段]
                     [limit 数值,数值]

DCL(数据控制语言)   :  
                      grant        授予权限 
					  commit       提交事务
					  rallback     回滚

常用函数
日期和时间函数
NOW()
#返回两个日期的天数
从1997-10-31到现在的天数
SELECT DATEDIFF(NOW(),‘1997-10-31’)

  聚合函数
      count 记录  sum求和  max最大 min最小   avg平均数
  
  分组函数
        grauop by  desc/asc(升序)
示例       SELECT * FROM student ORDER BY studentno DESC

事务的四个特性
原子性; 全部成功
一致性; 确保事务提交前后的状态
隔离性; 每个事务之间互不影响,彼此独立
持久性; 一旦提交,数据永远修改并保留

控制事务的六个步骤;
1. 关闭自动提交
SET autocommit=0

	2.  开启事务 
	  start transaction 
	  
	3.  执行SQL
	                    实现转账
	  UPDATE 表名  SET cash=cash-500  WHERE  'name'='A'
	  UPDATE 表名  SET cash=cash+500  WHERE  'name'='B' 
	  
	4.  模拟转账成功时,提交事务
        COMMIT;           #提交事务
		
    5.  模拟转账失败时,回滚事务
        ROLLBACK          #回滚
		
	6.  回复自动提交
          SET autocommit=1;		

索引

作用;提高数据库的检索速度,改善数据库性能

分类;

 唯一索引;不允许有重复的键值,但它的列允许有空值 
 主键索引;是唯一索引的特殊类型,他的每个值是非空,唯一 
 普通索引;只为那些最常出现在查询条件(WHERE)或排序条件(order by)的数据列
            创建索引它的列允许插入重复值和空值
 复合索引;将多个列组合作为索引
 全文索引;用于在大量文本文字中搜索字符串,
             他的效率大大高于sql的like关键字的效率	

索引增删改查;
显示索引;
SHOW INDEX FROM 表名

 添加索引
  ALTER TABLE 表名 ADD PRIMARY KET(id);     主键	 
  ALTER TABLE 表名 ADD UNIQUE KEY(testno)   唯一键
  ALTER TABLE 表名 ADD INDEX index_cd(c,d)  常规索引
  ALTER TABLE 表名 ADD FULLTEXT(e)          全文索引
  
 删除索引 
  DROP INDEX 索引名 ON 表名 
  ALTER TABLE 表名 DROP INDEX 索引名 
  
 删除主键索引 
  ALTER TABLE 表名 DROP PRIMARY KEY	 

视图

  创建视图
      CREATE VIEW 视图名称 AS (SELECT 语句)   
  删除视图  
      drop viem [if exists] 视图名称
  查询视图	  
	  SELECT * from 视图名称 [WHERE]	  

删除用户
DROP USER ‘用户名’@'localhost’当前本机电脑
修改当前登录密码
SET PASSWORD=PASSWORD(‘新密码’)
修改其他用户密码
SET PASSWORD FOR ‘用户名’@‘localhost’=PASSWORD(‘新密码’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值