MYSQL的基础命令一

1.创建DB user 注:符号全部使用英文拼音符号!

标准格式

create database ruozedata;

创建数据库 ruozedata

grant all privileges on *.*  to djh@'%' identified by 'ruozedata';

grant all privileges 赋予所有权限;. 第一个表示此机器上的所有数据库,第二个表示每个数据库下属的所有对象;ruozedata为密码

flush privileges;

刷新权限
注:如果命令执行出现权限错误,应该是连接问题,将需要执行的命令在xshell中的MySQL终端中执行

查看数据库

show databases

切换数据库

use ruozedata;

删除数据库

drop database ruozedata;

查询该数据库空间的所有用户

SELECT USER,HOST from mysql.user;

新建用户djh

create user djh identified by 'xxxx';

更改djh的密码

set password for djh=password('yyyyyy')

查看djh用户的权限

show grants for 'djh';

给djh用户数据库ruozedata的所有的权限

grant all privileges on ruozedata.* to djh;

去除所有权限

revoke all privileges on ruozedata.* to djh;

2.杀SQL进程

在xshell中的MySQL终端进行

 show processlist;
 kill id;

杀进程之前一定要确认进程进程是否可杀

3.字段类型

数值类型
int 整数 (较少字节)
long 长整型(较长字节)

float 单精度(占4个字节,有效数字为8,保证十进制的6位数字计算)
double 双精度(占8个字节,有效数字为16,保证十进制的15位数字计算)
decimal  小数值 (精度较高,适合用作金融计算)

字符串类型
char 字节 定长 0-255字节 自动补全 255字节
varchar 字符串 变长 0-65535字节 不自动补全
日期
date 日期 YYYY-MM-DD
time 时间 HH:MM:SS
datetime 年月日时分秒 YYYY-MM-DD HH:MM:SS
timestamp 年月日时分秒 YYYY-MM-DD HH:MM:SS

datatime和timestamp的区别

https://blog.csdn.net/u014696474/article/details/70568733

4.SQL类型

DDL 数据定义语言: create drop
DML 数据操作语言: insert delete update select 增删改查
DCL 数据控制语言: grant

5.建表

create table rzdata(
id int(11) not null auto_increment,
   (建立表格rzdata;not null不允许空值;auto_increment自生长)
name varchar(200),
age  int(3),
   (姓名赋予200字节大小空间,年龄赋予3位数的空间)
createuser varchar(200) ,
createtime timestamp not null default current_timestamp,
   (创建者 创建时间默认当前创建时间)
updateuser varchar(200) ,
updatetime timestamp not null default current_timestamp on update current_timestamp,
   (修改者,修改时间默认当前修改时间)
primary key (id)
   (主键约束)
);

主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。
复制表格

create table rzdata1 select * from rzdata;
或者部分复制
create table rzdata1 select id,name,age from rzdata;

创建临时表

create temporary table rzdata;

查看数据库中的表

show tables

查看表结构

describe rzdata;
或者
show columns in rzdata;

删除表

drop table if exists rzdata

表格重命名

rename table rzdata to rzdata1;
alter table rzdata rename rzdata1;

修改表结构

alter table rzdata add address;
alter table rzdata drop address;
alter table rzdata rename address to age;

插入数据

insert into rzdata(id,name,age) values(1,'xxx',32);

插入从rzdata1中检索出来的数据

insert into rzdata(id,name,age) select id,name,age from rzdata1;

注意:

1.尽量都是用英文,避免汉语以及拼音
2.统一风格 。命令的格式要同项目一直,以便查阅
3. 第一个字段 必然是 id 自增长,它是无意义的。可以高性能的存储与查询
自增主键的优势:
(1)数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利;
(2)数字型,占用空间小,易排序,在程序中传递也方便;
(3)如果通过非系统增加记录时,可以不用指定该字段,不用担心主键重复问题
自增主键id超了,将int改为bigint
4. 一张表只有一个主键primary key==》id等价于unique+not null。相同的id只能出现一次
或者可以再表格属性中点开约束 ,然后新建 约束,选择想要约束的项目在这里插入图片描述
约束过后,再次输入相同项目名称就会抛错
5.后四个字段 建议都要加 创建用户 、修改用户 、创建时间 、修改时间
6.业务字段 最好加上注释comment
7.ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
InnoDB是一种存储引擎,它的特性是支持事务,并且采用多版本并发控制的方式来提高并发度主要是事务表,当一个事务全部完成,才会执行update.如果一段代码没有完成(及一个事务操作没有完成)它是不会update的.例如突然断电,这个业务就会回退到上一步,安全性很高,但是速度比较慢
DEFAULT CHARSET=latin1
database 字符集
table字符集
column 字符集

服务端 字符集
客户端字符集
都有字符集

6.增删改查

增加

`insert into rzdata(name,age,createuser,updateuser) values('djh22',222,'r','r');

两个括号一定要一一对应
修改

update rzdata set name=wdas,age=19 where id =1;

删除

delete from rzdata where id=6;

删除与修改时要加上where,否则会把整个文件夹都删除。
如果删除了,要去binlog恢复 在arch/mysql-bin.000001文件夹

查看

select * from rzdata;
select id,name,age from rzdata;  

星号代表表格所有内容,在生产过程中不要使用星号,内容太多会死机
一般要加limit
select id,name,age from rzdata where id=6 limit 5,10;检索从第5行之后,长度为10的数据
select id,name,age from rzdata where id=6 limit 5,-1; 检索第5行之后一直到最后一条数据
select id,name,age from rzdata where id=6 limit 5; 检索前5条数据

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值