mysql ddl 查询命令_MySQL命令大全——DDL、DML、DCL

一、DDL(数据定义语言)

1、基本操作

1) 查看所有数据库名称:show databases;

2)切换数据库:use db_name;

2、操作数据库

1)创建数据库:create database [if not exists] db_name [字符集声明, 整理声明];

(字符集与排序规则不写默认为[utf8, utf8_general_ci])

2)删除数据库:drop database [if exists] db_name;

3)修改数据库:alter database db_name character set 字符编码

注:修改数据库只能修改其字符编码,不能修改数据库名称

3、数据类型

常用类型:

int 整型

double 浮点型,例如double(5,2)表示最多5位,必须有2位小数,即最大值为999.99

decimal  精确小数类型,在跟钱有关的时候使用

char  固定长度字符串类型

varchar  可变长度字符串类型

text  字符串类型

blob  字节类型

date  日期类型,格式为 yyyy-MM-dd

time   时间类型,格式为 hh:mm:ss

4、操作表

1)创建表:

create table 表明(字段名 字段类型, 字段名 字段类型......);

例:创建一张包含学生id,学生姓名,年龄以及性别的表

create table student(s_id int, s_name varchar(20), s_age int, s_gender varchar(10));

2)查看数据库中所有表

show tables;

此操作要在use db_name;之后

3)查看指定表的创建语句

show create table 表名;

例:show create table student;

2706ee329d5204df85afe982e28b6e7b.png

4)查看表结构

desc 表名;

461365e97b2865158edf762cc5b6bb0e.png

5)删除表

drop table 表名;

6)修改表

此修改表是指对表的字段的增删改,以及对表名的修改

a.添加新字段到最后

alter table 表名 add column (新字段名 字段类型);

例:alter table student add column (s_major varchar(30));

33605ad38a13214c26c6aa0d0c7a7a6a.png

b.添加新字段到指定字段之后

alter table 表名 add 新字段名 新字段类型 after 指定字段名;

00d656265f7b5110569c3bb9a975267e.png

c.删除字段

alter table 表名 drop 要删除的字段名;

d.修改字段

alter table 表名 change 旧字段 新字段 新字段类型;

二、DML(数据操作语言)

1)插入数据

insert into 表名 (字段1, 字段2, 字段3...) values(值1, 值2, 值3...);

insert into 表名 values(值1, 值2, 值3.....);   //此方法必须插入表中所有字段的值,并一一对应;

insert into 表名 values(值1, 值2, 值3...), (值1, 值2, 值3...),...(值1, 值2, 值3...);  //此方法可以插入多条数据

2)修改数据

update 表名 set 字段名=新的值  (where 条件); //不加条件会修改所有指定字段的值,可以通过where确定修改指定记录

3)删除数据

delete from 表名 (where 条件); //此方法删除数据在不加条件时会删除所有的数据,可以通过where确定删除指定记录

truncate table table_name同样可以实现清除表中所有的数据,

虽然TRUNCATE和DELETE都可以删除表的所有记录,但有原理不同。DELETE的效率没有TRUNCATE高!

TRUNCATE其实属性DDL语句,因为它是先DROP TABLE,再CREATE TABLE。而且TRUNCATE删除的记录是无法回滚的,但DELETE删除的记录是可以回滚的(回滚是事务的知识!)。

三、DCL(数据控制语言)

1)创建用户

create user 用户名@地址 identified by 密码;

例:create user user1@localhost identified by '123'; 用户user1只能在localhost即本地才能登录mysql服务器

create user user2@'%' identified by '123'; 用户user2可以在任何电脑上登录mysql服务器。

2)给用户授权

grant 权限1, 权限2, 权限3...权限n on 数据库名.表名 to 用户名@地址;

例:grant select on java1702.student to user1@localhost;  只给user1用户查询数据库java1702中的student表的权限;

grant all on java1702.* to user2@localhost; 给用户user2授予数据库java1702中所有表的所有权限。

3)撤销授权

revoke 权限1, 权限2...权限n on 数据库名.表名 from 用户名@地址;

例:revoke update on java1702.* from user2@localhost;

4)查看用户授权

show grants for 用户名@地址

5)删除用户

drop user 用户名@地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值