mysql常用命令添加外键主键约束存储过程索引
数据库连接
mysql -u root -p123456
查看表
show databases
创建数据库设置编码
create table books character set utf8;

创建用户
-- 特别需要注意,在 MySQL 中,账号由两部分组成:
-- 1. user
-- 2. host
-- 即使 user 相同,只要 host 不同,也会被认为是不同账号。
-- 这样可以非常方便对来自不同 ip 地址的访问进行精细的权限控制。
-- 默认情况下,创建的用户 host 为 '%',这是一个匹配符,跟模糊查询里的意思一样,表示匹配所有
create user [用户名] identified by '[密码]';
create user vip identified by 'vippp'; -- 所有连接
create user vip@'127.0.0.1' identified by 'xxx'; -- 本地连接
create user vip@'192.168.%' identified by 'yyy'; -- 192.168 网段的连接
修改密码
set passwor from '用户名' @host=password('新密码');
update mysql.user set password=password('新密码') where user='用户名' and host='%';
删除用户
drop user 用户名;
delete from mysql.user where user='用户名' and host='%'
给权限
grant all on *.* to vip@'127.0.0.1'; --将所有数据库上的所有权利都授予通过本机连接的VIP用户;
grant all privileges on books.* to vip@'%'; --将数据库books上的说有权利都授予所有连接的vip用户;
grant select on books.users to vip@'%'; --将books数据库上的users表的访问权限开发给vip用户;
grant all on *.* to vip@'%' with grant potions; --witgrant potionss的意思是可以给vip给予权限给别的用户
查看权限
show grants for vip@'%';

进行冲刷
flush privileges
查看当前用户
select user() ,current_user();
创建表
create table 表名
判断存在就删除然后创建
creata table if exists 表名
drop table if exists 表名
创建临时表
create temporary table 表名
mysql自增长
auto_increment
添加外键约束
alter table 表名 add constraint fk_引用id foreign key(引用id) references 被引用表名 (被引用id)
添加主键约束
alter table 表名 add constraint pk_id primary key (id);
删除约束
alter table 表名 drop forign key fk_引用id
添加表的字段
alter table 表名 add 字段名 类型 ;
修改表中的字段为空
alter table 表名 modify 字段名 类型 null
修改表中的字段不为空
alter table 表名 modify 字段名 类型 not null
添加表的字段自增主键
alter table 表名 add column 字段名 类型 auto_increment not null, add primary key(cid);
删除表的字段
alter table 表名 drop column 字段;
删除表的主键
alter table 表名 drop primary key;
创建存储过程 mysql存储100相加的和

create procedure sum(a int)
begin
set @i=0;
set @j=0;
repeat
set @i=@i+1;
set @j=@i+@j;
until a=@i end
repeat;
end $
--能整除三 不能整除9

delimiter $
create procedure asdw(sss int)
begin
set @i=0;
set @cj=1;
repeat
set @i=@i+1;
if @i%3=0 && @i%9!=0 then
set @cj=@cj*@i;
end if;
until @i=sss end repeat;
end
创建索引
CREATE INDEX 索引名字 ON 表名(字段名)
mysql常用命令添加外键主键约束存储过程索引的更多相关文章
- MySQL的几个概念:主键,外键,索引,唯一索引
概念: 主键(primary key) 能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录的唯一和 ...
- mysql数据库表的自增主键号不规律,重新排列
mysql数据库表的自增主键ID乱了,需要重新排序. 原理:删除原有的自增ID,重新建立新的自增ID. 1.删除原有主键: ALTER TABLE `table_name` DROP `id`; 2. ...
- MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析
文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...
- sql新建数据库表,及添加多个主键
create table tb_Modules(module_Id int identity(1,1) primary key, (自增)model_Name varchar(50) not nul ...
- Mysql数据库表的自增主键ID号乱了,需要重新排列。
Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键:ALTER TABLE `table_name` DROP `id`; 2, ...
- mybatis+oracle添加一条数据并返回所添加数据的主键问题
最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...
- mysql数据库单表只有一个主键自增id字段,ibatis实现id自增
mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid"> insert into user_id ...
- MySQL数据表中有自增长主键时如何插入数据
原文链接:https://blog.csdn.net/RuobaiMEN/article/details/79794199 MySQL数据库表中有自增主键ID,当用SQL插入语句中插入语句带有ID列值 ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
随机推荐
- gitlab 邮件配置
vim /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "sm ...
- Vue.js-----轻量高效的MVVM框架(五、计算属性)
#基础例子 <div id="dr01"> <h4>#基础例子</h4> <div> num01={{num01}}, num02= ...
- django建表报错
今天在用pycharm创建数据库的表的时候碰见了一个报错,这还是头一次碰见这种奇怪的错误.这里记住希望能避免错误. 我所创建的表是用的django原有的用户表,做了一下继承. class UserI ...
- 2019.03.20 读书笔记 关于Reflect与Emit的datatable转list的效率对比
Reflect public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { Li ...
- Java基本语法_循环练习系列(二)——万年历
写万年历大致可以分为以下几个步骤: 1.根据用户输入的年份判断该年是否是闰年. 2.根据用户输入的月份计算该月的天数. 3.计算输入的年份之前的总天数. 4.计算输入的月份之前的天数. 5.计算该月的 ...
- 深入学习webpack(二)
深入学习webpack(二) 在深入学习webpack(一)中,我通过一个例子介绍了webpack的基本使用方法,下面将更为系统的学习webpack的基本概念,对于一门技术的掌握我认为系统化还是很重要 ...
- jenkins自动打IOS包(转发)
投稿文章,作者:一缕殇流化隐半边冰霜(@halfrost) 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了 ...
- mac os安装macvim
1 brew install macvim 安装 macvim 2 alias vim='/usr/local/Cellar/macvim/7.4-73_1/MacVim.app/Contents/M ...
- MyEclipse 比较常用的快捷键
Ctrl+D: 删除当前行 Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编 ...
- MySQL查询上个月数据
SELECT * FROM order o WHERE o.payTime BETWEEN DATE_FORMAT(DATE_ADD(NOW(),INTERVAL MONTH),'%Y-%m-01') ...