MySQL数据库操作(一)——DDL、DML、DCL

个人博客:haichenyi.com。感谢关注

MySQL:

  启动:net start mysql

  停止:net stop mysql

  登录:mysql -u root -p 例如:mysql -uroot -p123 -hlocalhost

  退出:exit或者quit

DDL操作:

  加上if exists或者if not exists:都是如果存在,或者如果不存在,就不做相关操作

  查询当前有哪些数据库:show databases;

  创建数据库:CREATE DATABASE if not exists 数据库的名字 CHARSET=utf8;例如:CREATE DATABASE if not exists employee CHARSET=utf8;创建一个编码为utf-8的employee数据库。不存在就创建,存在就不管。

  删除数据库:DRAP DATABASE if exists 数据库名称;例如:DRAP DATABASE if exists employee;删除employee数据库,如果存在就删除,不存在就不管。

  修改数据库编码方式:ALTER DATABASE 数据库名称 CHARACTER SET utf8;

  切换数据库:use 数据库名称;

  创建表:CREATE TABLE if not exists 表名(列名 列类型,...,列名 列类型);

CREATE TABLE if noe exists t_stu(

        stu_num char(11),

        stu_name varchar(50),

        stu_age int,

        stu_sex varchar(10)

        );

  显示当前数据库包含的表:show tables;

  显示当前表结构:desc 表名称;

  删除表:drop table 表名称;

  新增列:alter table 表名 add(列名 列类型,...,列名 列类型);

alter table t_stu add(

        stu_address varchar(100),

        stu_phone char(11)

        );

  修改列类型:alter table 表名 modify 列名 列新类型;

alter table t_stu modify stu_address varchar(50);

  修改列名:alter table 表名 change 原始列名 新列名 列类型;

alter table t_stu change stu_address stu_addr varchar(100);

  删除列:alter table 表名 drop 列名;

alter table t_stu drop stu_address;

  修改表名:alter table 原始表名 rename to 新表名;

DML操作:

为了好操作,先用一下查询的命令,查询表的所有记录: select * from 表名;

  插入一行记录:INSERT INTO 表名 (列名,...,列名)VALUES(列值,...,列值);

INSERT INTO t_stu(

        stu_num,stu_name,stu_age,stu_sex,stu_phone
        
        )VALUES(
        
        'test_num_001','张三',18,'man','13888888888'
        
        );

  修改所有数据:update 表名 set 列名=列值,...,列名=列值;

update t_stu set name='wangwu';

  修改数据(单个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值;

update t_stu set stu_name='zhangsan' where stu_num='testNum_00001';

  修改数据(多个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值 or 列名=列值;

//or,或者
update t_stu set stu_age=28 where stu_num='testNum_0001' or stu_name='zhangliu';
//and,并且
update t_stu set stu_age=28 where stu_age>=25 and stu_age<=30;
//between...and...在什么区间内
update t_stu set stu_age=28 where stu_age between 25 and 30;
//in(...)
update t_stu set stu_age=28 where stu_name  in ('zhangsan','lisi');
//is null,是null。不能是stu_name=null
update t_stu set stu_age=28 where stu_name  is null;

  删除记录:DELETE FROM 表名 where ...;

//这里where后面的条件跟前面的update是一样的写法
DELETE FROM t_stu where stu_age = 28;

DCL操作:

  创建用户:

//只要是写用户名的位置都可以设置固定ip,或者不固定ip
CREATE USER 用户名@IP地址 IDENTIFIED BY '密码';//固定ip登录
CREATE USER 用户名@'%' IDENTIFIED BY '密码';//任意ip登录
CREATE USER zhangSan@'%' IDENTIFIED BY '123';

  给用户授权:

GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@ip地址;
GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@'%';

GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON school.* TO zhangSan@'%';
//给所有权限
GRANT ALL ON school.* TO zhangSan@'%';

  撤销权限:

REVOKE  权限1,权限2,...,权限n ON 数据库名称.* FROM 用户名@'%';

  查看用户权限:

SHOW GRANTS FOR 用户名@ip地址;

  删除用户:

DROP USER 用户名@ip地址;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 7,794评论 0 4
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,391评论 5 116
  • 看到初三市质检卷子,不由大呼:这么简单!不过有一道题我倒是卡住了:汉语中含“羊”字的成语很多,如“亡羊补牢”...
    飞来飞去地飞阅读 4,196评论 0 0
  • 那一晚 你第一次陪我去湖边散步 或许也仅此一次再无其二 你带我去了一个天台 看最美的城市夜景...
    白欢欢阅读 1,301评论 0 0
  • 今天说到这个词语,是由于近来精神不好。怎么不好呢?晚上睡不着觉,下午五六点钟开始打盹。打个小盹,有点精神,导致晚上...
    lid7520阅读 1,009评论 0 0

友情链接更多精彩内容