SQL语句增删改查

1. sql语句:增

创建用户:create user 指定的用户名 @ ‘连接用户的方式’ identified by ‘密码’
创建数据库:create datebase 要创建的数据库名
创建数据表:create table 表名 (id int,name char(30));
插入数据:insert into 表名 (id,name,age)values (1,‘字符串’,23)

2. sql语句:删

删除用户:drop user 指定的用户名@‘%’;
删除数据库:drop databese 数据库名;
删除数据表:drop table 表名;
删除数据:delete from 表名 where 要删除的内容    
delete from 表名 age between 23 and 25 删除23-25之间的

3. sql语句:改

修改数据表中的数据:update 表名 set age=21  where id=3  
把3的年龄改为21 修改数据表的名称:alter table 表名 rename 要改的名;
修改数据表的字段类型:alter table 表名 modify name char(50));
修改数据表的字段类型: alter table 表名 change name username char(50)not null  default ‘’;
添加删除字段:alter table 表名 add time datetime 增加     alter table 表名 drop time 删除

4. sql语句:查

查看所有数据库:show databases;
查看指定库内所有数据表:show tables;
查看指定数据表的字段结构:describe 表名
查看所有Mysql用户密码登录方式:select user,password,host from mysql.user;

5. sql语句授权

授予用户全部权限grant all on  库.表 to 用户@‘%’ 远程方式登录 授权对指定库所有权限
给存在的用户授权 创建用户并授权:grant all on 库.表 to 用户@‘@’identfied by ‘密码’
取消用户授权删除库表 表里数据的权限:revoke drop,delete on 库.表 from 用户@‘%’; 查
看指定用户的授权:show grants for 用户@‘%’;

6. sql语句启动关闭

service mysqld start   service mysqld stop
/etc/init.d/mysqld start    /etc/init.d/mysqld stop mysqld_safe & 源码包   
 mysqladmin -uroot -p123 shotdown
/etc/init.d/mysqld start    /etc/init.d/mysqld stop

7.修改密码

set password=password("123456");
修改普通用户密码 set password=password("123456");
修改管理员密码 update mysql.user set password=password("123") where user='root'; 
登录 mysql 使用命令修改密码 查看指定用户的授权  show grants for 用户@‘%’;

二、 Mysql主从原理

开启主服务bin-log日志记录功能,将主服务器的bin-log日志传到从服务器 从服务器根据日志内容将数据还原到本地,从服务器主动把主服务器的数据同步到本地
第一步:从服务器 发起连接 主服务器 传输对应的同步信息 user passwd ip pos_file pos-size IO 线程的对接 验证 pos 值偏移位
第二步:主服务器验证主机偏移位 如果出现偏移,主服务器将偏移数据推送至 从服务器, 推送完毕后进入休眠状态
第三步:从服务器获取中继日志完成后,从服务器的 IO 线程进入休眠, 并且唤醒从服务器的 SQL 线程,SQL 将中继日志运行得到对应数据 如果以后再出现新的对数据结构发生改变的 SQL 语句, 主服务端主动唤醒从服务器端的 IO 线程,传递数据,后边步骤同理
SQL 线程:将中继日志转储数据  I/O 线程:传输二进制日志   从服务器的随机端口连接至主服务器的 3306 端口
mysql主从服务器:从服务器主动把主服务器上的数据同步到本地(备份)   从服务器分摊主服务器的查询压力)(负载均衡)
什么是索引:索引本身是数据结构排好序的快速查找数据结构, 可以提高查找效率数据分身 快速查找 快速的定位查询内容速度
什么是主键:唯一标识一条记录,不能有重复,不允许为空,用来保证数据完整性, 主键只能有一个,自增自减             数据库主键,指的是一个或多列的组合。其值能唯一的表示表中的每一行, 通过他可强制表的实体完整性,主键主要用于其他表的外键关联, 以及本记录的修改和删除。
什么是外键:表的外键是另一个表的主键,外键可以有重复的,可以是空值, 用来和其他表建立联系用的,一个表可以有多个外键
数据库引擎: InnoDB存储引擎:支持事务安全表、支持行锁定和外键、支持外键完整性约束
MyISAM存储引擎:拥有较高的插入、查询速度,但不支持事物、 每个MyISAM表最大索引数是64、最大的键长度是1000字节、可以通过编译来改变、 可以把数据文件和索引文件放在不同目录
MEMORY存储引擎:将表中的数据存储到内存中,未查询和引用其他表数据提供快速访问。

优化sql语句的一般步骤: 通过show status 命令了解各种SQL的执行效率

可以根据需要加上参数来显示session级(当前连接,默认)和global级 (自数据库上次启动至今)的统计结果

通过explain 或 desc分析低效SQL的执行计划

通过show profile 分析SQL。

SQL语句分类:DML:数据操作语言 DDL:数据描述语言 DCL:数据控制语言

一般查询日志 二进制日志 慢查询日志

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是一种关系型数据库管理系统,支持使用SQL语言进行数据的增删改查操作。 1. 数据的插入(Insert): INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 2. 数据的查询(Select): SELECT column1, column2, ... FROM table_name WHERE condition; 3. 数据的更新(Update): UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 4. 数据的删除(Delete): DELETE FROM table_name WHERE condition; 5. 创建表(Create Table): CREATE TABLE table_name (column1 datatype, column2 datatype, ...); 6. 删除表(Drop Table): DROP TABLE table_name; 7. 修改表(Alter Table): ALTER TABLE table_name ADD column_name datatype; ALTER TABLE table_name DROP COLUMN column_name; ALTER TABLE table_name MODIFY column_name datatype; 8. 创建索引(Create Index): CREATE INDEX index_name ON table_name (column1, column2, ...); 9. 删除索引(Drop Index): DROP INDEX index_name; 10. 创建视图(Create View): CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; 11. 删除视图(Drop View): DROP VIEW view_name; 12. 数据的排序(Order By): SELECT column1, column2, ... FROM table_name ORDER BY column_name ASC|DESC; 13. 数据的分组(Group By): SELECT column1, column2, ... FROM table_name GROUP BY column_name; 14. 数据的联接(Join): SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 这些是Oracle中常用的SQL语句,通过这些语句可以完成数据的增删改查及其他相关操作。但需要注意的是,具体的语法和用法可能因为不同的版本和具体的需求而略有区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值