表的操作

1、建表

--如果USERS表存在则删除

DROP TABLE IF EXISTS USERS;

CREATE TABLE USERS(

id INT UNSIGNED NOT NULL AUTO_INCREMENT, # 主键 UNSIGNED 无符号 AUTO_INCREMENT 自增

name VARCHAR(30) NOT NULL COMMENT '用户名',

sex ENUM('男','女') NOT NULL DEFAULT '男', # 使用枚举类型, 在插入的时候可以数值来表示,从1开始。如1则代表男

age TINYINT UNSIGNED NOT NULL DEFAULT 1,

PRIMARY KEY (`Id`)

)DEFAULT CHARSET=UTF8 ENGINE=INNODB;

操作字段都是ALTER TABLE 表名 的格式

2、添加字段

ALTER TABLE USERS ADD alias varchar(20) COMMENT '别名';

3、修改字段

3.1 不修改名称 使用modify

ALTER TABLE USERS MODIFY name varchar(20) NOT NULL COMMENT '用户名';

3.2 修改名称 使用change  格式 是 change 要修改的名称 新名称 ...

ALTER TABLE USERS CHANGE name username varchar(20) NOT NULL COMMENT '用户名';

4、删除字段

ALTER TABLE USERS DROP COLUMN alias;

-- 删除多个字段

-- ALTER TABLE USERS DROP COLUMN alias,DROP COLUMN age;

库的操作

1、建库

CREATE DATABASE test CHARACTER SET utf8;

2、修改库的默认编码

ALTER DATABASE test CHARACTER SET utf8;

3、删库跑路

DROP DATABASE test;

索引(约束)的操作

1、添加主键

--删除主键

ALTER TABLE 表名 DROP PRIMARY KEY;

ALTER TABLE USERS ADD PRIMARY KEY ( `id` )

2、添加唯一索引

ALTER TABLE USERS ADD UNiQUE ( `username` )

3、添加普通索引

ALTER TABLE `USERS` ADD INDEX index_name ( `age` )

4、添加全文索引

ALTER TABLE `表名` ADD FULLTEXT (

`列名`

)

5、添加多列索引

ALTER TABLE `表名` ADD INDEX index_name ( `列名1`, `列名2`, `列名3` )

6、添加外键

一般很少外键约束,外键约束靠代码逻辑实现

alter table 表名 add constraint fk_引用id foreign key(引用id) references 被引用表名 (被引用id)

alter table 表名 drop forign key fk_引用id

数据库的管理命令

1、连接

mysql -u root -p123456

mysql -u root -p

输入密码

2、查看操作

-- 查看所有库

show databases;

-- 查看所在库的表

show tables;

-- 查看库的创建语句

show create database test;

-- 查看表的创建语句

show create table test;

-- 查看表的索引

-- show index from table_name(表名)

show index from users;

-- 查看mysql版本

select version();

-- 查看当前用户

select user();

3、创建用户

-- 特别需要注意,在 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 网段的连接

4、删除用户

drop user 用户名;

delete from mysql.user where user='用户名' and host='%'

5、修改密码

set password from '用户名' @host=password('新密码');

update mysql.user set password=password('新密码') where user='用户名' and host='%';

--使用password() 进行加密

6、设置用户权限

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; --with grant potionss的意思是可以给vip给予权限给别的用户

flush privileges; --设置权限后要刷新权限

mysql修改索引的sql_mysql-建表、添加字段、修改字段、添加索引SQL语句写法相关推荐

  1. mysql带参数的sql_MySql存储过程是带参数的存储过程(动态执行SQL语句)

    下文介绍的MySql存储过程是带参数的存储过程(动态执行SQL语句),该MySql存储过程是根据用户输入的条件和排序方式查询用户的信息,排序条件可以没有调用方式: call GetUsersDynam ...

  2. mysql表索引类型修改_MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法总结...

    本文实例讲述了MySQL常用的建表.添加字段.修改字段.添加索引SQL语句写法.分享给大家供大家参考,具体如下: 建表: DROP TABLE IF EXISTS bulletin; CREATE T ...

  3. MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效

    问题描述:MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效.MySQL数据库中构建的用户表表结构如下所示: DROP TABLE IF ...

  4. mysql sql wait 写法_有关SQL语句写法注意的那些事情(原创整理)

    前段时候针对开发做的SQL语句写法方面注意点的培训, 特意总结了一下,也共享一下. 书写SQL需要注意的若干问题(MySQL版) 一.基本问题 1,在系统中运行的SQL查询,先考虑一下能不能在Slav ...

  5. mysql中获取一天、一周、一月时间数据的各种sql语句写法

    来源:http://www.jb51.net/article/50505.htm 今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学 ...

  6. mysql 获取每天的日期_mysql中获取一天、一周、一月时间数据的各种sql语句写法...

    今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学习的同时,分享给大家,并首先默认创建一个表.插入2条数据,便于部分数据的测试,其中 ...

  7. php多表数据排除,thinkphp中多表查询中防止数据重复的sql语句(必看)

    thinkphp中多表查询中防止数据重复的sql语句(必看) 这里有新鲜出炉的精品教程,程序狗速度看过来! ThinkPHP 开源 PHP 框架 ThinkPHP 是一个开源的 PHP 框架,是为了简 ...

  8. Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)

    这篇文章主要介绍了Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)的相关资料,需要的朋友可以参考下 在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映.这个时候, ...

  9. 创建oracle 数据库表空间,角色,用户的sql语句

    创建oracle 数据库表空间,角色,用户的sql语句 1.创建角色 CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED; GRANT "C ...

  10. 单表无条件和有条件查询的SQL语句

    话不多说,直接上实验4 简单查询-单表无条件和有条件查询的SQL语句------------ (1) 查询所有学生的基本信息.所有课程的基本信息和所有学生的成绩信息(用三条SQL语句). SELECT ...

最新文章

  1. 2017年中国人工智能产业最全研究报告发布 | AI世界2018年八大趋势
  2. linux shell中 if else以及大于、小于、等于逻辑表达式
  3. SQL Server性能计数器部署(批量)
  4. 二分类吸引子和鞍点的准确率的表达式ca
  5. 安川g7接线端子图_常用变频器接线端子集锦及接线示意图
  6. Transformation XML(TCODE-STRANS)
  7. linux shell if判断字符串是否包含某字符串
  8. QT的QScriptEngineAgent类的使用
  9. node.js 初体验
  10. 【转】阿里技术专家详解 DDD 系列 第一讲- Domain Primitive
  11. 【BZOJ1038】【codevs1412】瞭望塔,半平面交/三分法
  12. 8.3实例程序:平面阴影
  13. shell 简介(常用shell之bash)
  14. 语音转写和语音听写_如何在Windows 10上使用语音听写
  15. 出入库管理软件如何修改格式
  16. python乱码怎么办_python中urllib.unquote乱码的原因与解决方法
  17. Python之网络编程
  18. ANE总结(Android+iPhone)
  19. mmorpg游戏设计之2D游戏地图的九宫格子
  20. java rds 数据库_Java程序如何连接RDS MySQL

热门文章

  1. 简介:“筱家七姐妹”这名字奇奇怪怪
  2. php strtotime(-1 month) 得到不是上月1号数据
  3. 某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件
  4. 百度网盘 突破下载限速 Aria2
  5. 大数据未来七大发展趋势
  6. Elasticsearch获取ES查询的所有结果,并批量导出Excel
  7. 理发店里看到的成功格言
  8. Jdbc--2--jdbc的使用,数据库schema和catalog介绍
  9. oracle新建数据库schema-建立数据库、表空间和用户
  10. cpp mqtt paho 使用_paho-mqtt 回调方法的一次封装