入门Mysql命令合集一

注:MySQL命令不分大小写,结尾以英文分号“;”结尾。

一、初步命令--数据库

        1、查看MySQL系统中已有的数据库:SHOW DATABASES;

        2、创建数据库:create database [ if not exists ] 数据库名 [ default ] character set 字符集 | [ default ] collate 校对规则名;

        例:创建一个名为mytest的数据库

                CREATE DATABASE mytest;

        3、使mytest变成当前数据库:USE mytest;(这个分号加不加都不会报错)

        4、修改数据库的参数:alter database [ if not exists ] 数据库名 [ default ] character set 字符集 | [ default ] collate 校对规则名;

        例:修改学生成绩数据库(xscj)默认字符集(gb2312)和校对规则(gb2312_chinese_ci)

                alter database xscj default character set gb2312 default collate gb2312_chinese_ci;

        5、删除数据库:drop database [ if exists ] 数据库名;

        例:删除数据库mytest

                DROP DATABASE mytest;

                DROP DATABASE IF EXISTS mytest;(加if exists可以在数据库mytest不存在时不会报错)

二、MySQL表

        1、创建表:create table [ if not exists ] 表名 ( [ 列定义 ] | [ 表索引定义 ]) [ 表选项 ] [ select语句 ];

        例:创建名为user的表:

                CREATE TABLE user

                (

                学号 char(6) not null primary key,

                姓名 char(10) not null,

                性别 char(10) not null

                );

        复制现成的表:create table [ if not exists ] 表名 [ like 已有表名 ] | [ as (复制表记录) ]

        例:用复制的方式创建一个名为user_copy1的表,表结构直接取自user表

                create table if not exists user_copy1 like user;

        用复制的方式创建user_copy2,其结构和内容都取自user表

                create table if not exists user_copy2 as (select * from user);

        2、查看表信息:SHOW TABLES;

        3、查看user表的结构、字段类型等信息:DESCRIBE USER;

        修改表:alter table 表名 add 列定义[ first | after ] | modify 列定义 | alter 列名 { set default 值 | drop default } | change 列明 原列名 | drop 列名 | rename [ to ] 新表名

        【注:add子句--向表中增加新列,first | after列名指定增加列的位置,默认加在最后一列;

        modify子句--修改指定列的数据类型;

        alter子句--修改表中指定列的默认值,或者删除列默认值;

        change子句--修改列的名称;

        drop子句--删除列或约束】    

        例:在表user中增加新的一列“班级号”-- alter table user add column 班级号 tinyint(1) null;

        把一个列的数据类型改为bigint -- alter table user modify 班级号 bigint not null;

        4、更改表名:rename table 老表名 to 新表名;

        例:将表user_copy2改名为userb -- rename table user_copy2 to userb;

       5、 删除表:drop table [ if exists ] 表名;

        例:删除表userb -- drop table if exists userb;

三、表记录的操作

        1、插入新记录:insert [ into ] 表名 [ (列名,...)] values ({ expr | defalut },...) | set 列名={ expr | defalut },...

        例:向学生成绩数据库(xscj)的表xs插入一行数据

                use xscj

                insert into xs values ('180111','李明','计算机',1,'1998-02-06',50,null,null);

        若表xs中专业的默认值为“计算机”,照片、备注默认是null,可以使用以下命令

                ① insert into xs values ('180111','李明',1,'1998-02-06',50);

                ② insert into xs values ('180111','李明',defalut,1,'1998-02-06',50,null,null);

       或者使用set子句来实现

                insert into xs set 学号=’180111‘,姓名=’李明',专业=defalut,性别=1,出生日期='1998-02-06',总学分=50;

        2、从已有表中插入新记录:insert [ into ] 表名 [ (列名,...) ] select 语句 ;

        例:将mytest数据库user表记录插入到user1中

                use mytest

                insert into user1 select * from user;

        3、插入图片:可以通过插入图片储存路径,或用load_file函数插入图片本身

        例:向表xs中插入图片,路径为D:\image\picture.jpg

                ① insert into xs

                         values ('180111','李明','计算机',1,'1998-02-06',50,'D:\image\picture.jpg',null);

                ② insert into xs values ('180111','李明',

                     '计算机',1,'1998-02-06',50,load_file('D:\image\picture.jpg'),null);

        4、替换旧纪录:replace [ into ] 表名 [ (列名,...)] values ({ expr | defalut },...) | set 列名={ expr | defalut },...

        例:xs表中的李明转专业到“通信工程”

                replace into xs

                    values ('180111','李明','通信工程',1,'1998-02-06',50,'D:\image\picture.jpg',null);

        5、修改单个表:update [ low_priority ] | [ ignore ] 表名 set 列名1=expr1[ , 列名2=expr2... ] [ where 条件 ];

        例:将学生表(xs)的所有学生总学分都增加10

                update xs set 总学分=总学分+10;

        将学生表(xs)姓名为“李雷”的同学的备注填写为“辅修计算机专业”,学号改成“108112”

                update xs set 学号='108112',备注='辅修计算机专业' where 姓名='李雷'; 

        6、修改多个表:update 表名,表名... set 列名1=expr1 [, 列名2=expr2... ] [ where 条件 ];

        例:当表user中的id值与user2中的id值相同时,将表user中对应的password值修改为“111111”,将表user2中对应的password值修改为“222222”

                update user,user2 user.password='111111',user2.password='222222' where user.id=user2.id;

        7、删除记录:delete from 表名 [ where 条件 ];

        例:删除表user2中“李雷”的记录

                delete from user2 where username='李雷';

        8、从多个表中删除行:delete [ low_priority ] [ quick ] [ ignore ] 表名[.*] [,表名[.*]...] from table_references [ where where_defintion ]

        或者:delete [ low_priority ] [ quick ] [ ignore ] from 表名[.*] [,表名[.*]...] using table_references [ where where_defintion ]

        例:删除user1中id值等于user的id值的所有行1和user2中id值等于user的id值的所有行

               delete user1,user2 from user,user1,user2 where user1.id=user.id and user2.id=user.id;

        9、清除表数据:truncate table 表名;

        【注:truncate table语句将删除表中的所有数据,且无法恢复,需小心使用】

此为自码,资料参考教材《MySQL数据库教程(视频指导版)》第1版 郑阿奇 人民邮电出版社

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值