Mysql常用命令笔记

1.数据库操作

显示数据库:show databases;

创建数据库:create database if not exists [数据库名字]

创建数据库并指定字符集:create database [库名] character set gbk;

删除数据库:drop database [库名];

显示警告信息:show warnings;

2.数据表操作

创建数据表:

CREATE TABLE 表名
(
    字段名1 数据类型[完整的约束条件],
    字段名2 数据类型[完整的约束条件]
)ENGINE=InnoDB DEFAULT CHARSET=utf8;    

数据表查询

  • 查看数据表:

    ​ `SHOW TABLES;`

  • 查看数据表结构:

    ​ `DESCRIBE 表名;`

  • 查看表的创建信息:

    ​ `show create table 表名[\G];`

对表操作

  • 修改表名

    ALTER TABLE 旧表名 RENAME [TO] 新表名; 例子:alter table sc rename score;

  • 修改表的存储引擎

    ALTER TABLE 表名 ENGINE=<更改后的存储引擎名>; 例子:alter table student engine = myisam;

  • 修改表的字符集

    ALTER TABLE 表名 CHARACTER SET 更改后的字符集 ;例子:alter table student modify sno varchar(10) character set utf8;

  • 复制表

    create table 新表名 select * from 旧表;

  • 删除表

    drop table 表名;

3.字段操作

  • 字段约束目录

    • PRIMARY KEY 主键约束 NOT NULL 非空约束 UNIQUE 唯一约束 DEFAULT 默认值约束 FOREIGN KEY 外键约束 AUTO_INCREMENT 自动增加值

  • 增删改字段操作

    • 添加字段ALTER TABLE 表名 ADD 新字段名 数据类型 [列级约束条件] 例子:alter table student add class char(10) after ssex;

    • 删除字段ALTER TABLE 表名 DROP 字段名; 例子:alter table student drop class;

    • 修改字段的数据类型ALTER TABLE 表名 MODIFY 字段名 数据类型; 例子:alter table product modify ProductID int(11) AUTO_INCREMENT;

    • 修改字段名和数据类型ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; 例子:alter table student change sbirthday sbirth date;

  • 字段约束添加

    • 外键约束添加删除

      • 添加:ALTER TABLE 从表ADD CONSTRAINT 外键名 foreign key (被加字段) references 主表(主表字段);

      • 删除:alter table table_name drop foreign key 约束名

    • 主键添加删除

      • 先删后加:

      • 删除:alter table table_name drop primary key

      • 添加:alter table table_name add primary key (字段)

    • 复合主键添加

      • 多个字段组合而成的主键,表级约束

      • PRIMARY KEY (字段名1,字段名2,...)

    • 非空约束添加删除

      • 添加:alter table table_name modify 列名 数据类型 not null

      • 删除:alter table table_name modify 列名 数据类型 null

    • 唯一约束添加删除

      • 添加:alter table table_name add unique 约束名(字段)

      • 删除:alter table table_name drop key 约束名

    • 自增添加删除

      • 添加:alter table table_name modify 列名 int auto_increment

      • 删除:alter table table_name modify 列名 int

    • 默认值添加删除

      • 添加:alter table table_name alter 列名 set default '值'

      • 删除:alter table table_name alter 列名 drop default

  • 查看表字段信息

    • 查看表的字段信息:desc table_name;

4.对数据表数据操作

  • 添加数据

    • 为所有字段添加数据INSERT [INTO] 数据表名(字段列表) VALUES(值列表);insert into student(sno,sname,ssex) values('1001','曹操','男');

      如果向表中所有字段插入数据,可以省略字段列,可以写成:insert into student values('1002','刘备','男');

    • 为部分字段添加数据

      ​ INSERT [INTO] 数据表名 (字段名1 [, 字段名2] …) VALUES (值1[, 值2] …);​ INSERT [INTO] 数据表名 SET 字段名1 = 值1 [, 字段名2 = 值2]​ 字段名必须与数据相对应 一次只能加一条​ `insert into student set sno='1004',sname='貂蝉',classno='19004';`​ `insert into student(sno,sname,classno) values ('1003','吕布','19001');`

    • 一次添加多行数据INSERT [INTO] 数据表名 [(字段列表)] VALUES (值列表) [, (值列表)] …;

      insert into student values
      ('1005','司马懿',null,null,null,null,'19003'),
    ('1006','大乔','女',null,null,null,'19003'),
      ('1007','小乔','女',null,null,null,'19003');
  • 删除数据

    DELETE FROM 数据表名 [WHERE 条件表达式];有WHERE条件,删除满足条件的记录,无WHERE条件,系统就会自动删除该表中所有的记录。删除example01表中所有记录:select * from example01;删除student表sno字段为1002的记录:delete from student where sno = '1002';

  • 查询数据

    查询当前表数据: SELECT * FROM 数据表名

  • 修改数据

    UPDATE 数据表名 SET 字段名1 = 值1 , 字段名2 = 值2, …;有WHERE条件,修改符合要求的对应字段,无WHERE条件,修改表中所有对应的字段。update student set classno = '19003' where sname = '貂蝉';

5.数据导出

  • 使用 SELECT ... INTO OUTFILE 语句导出数据

    SELECT 导出的字段 FROM 导出的表 
    INTO OUTFILE '路径(双反斜杠)' 
    character set utf8
    FIELDS
        TERMINATED BY ','       -- 字段之间用,间隔   默认'\t'
        ENCLOSED BY '\"'        -- 设置字段包围字符
        ESCAPED BY '\''         -- 转义字符,默认为'\'
    LINES
        STARTING BY 'val';      -- 每行的开头字符,默认不使用任何字符
        TERMINATED BY '\r\n';   -- 每行的结尾字符,默认为'\n'
    ​
    -- 例子:
    SELECT * FROM student 
    INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\myschool35stu.txt' 
    character set utf8
    FIELDS
        TERMINATED BY ','
        ENCLOSED BY '\"'
        ESCAPED BY '\''
    LINES
        TERMINATED BY '\r\n';

6.视图

  • 创建视图命令:create view 视图名字 as

  • 删除视图命令:drop view 视图名;

  • 修改视图数据:update view_s set sname = '安琪拉' where sno = '2005020301'

  • 删除视图数据:delete from view_s where sname ='安琪拉'

7.索引

  • 创建索引

    • 建表时

      CREATE TABLE <表名>
          (
          <字段1> <数据类型1> [<列级完整性约束条件1>],
          <字段2> <数据类型2> [<列级完整性约束条件2>],
          [UNIQUE|FULLTEXT|SPATIAL] <INDEX|KEY> [索引名](属性名[(长度)] [,…]) 
          );
      ​
      create table test_index
          (
          tid int,
          tname varchar(20),
          tcount double,
          index index_tid (tid) -- 普通索引
          unique index index_test(tid,tname) -- 唯一索引
          );
    • 建表后

      • create语句:create [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 on 表(字段);

      • alter语句:ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (属性名[(长度)] [,…]);

猜你喜欢

转载自blog.csdn.net/csdn1940879828/article/details/129904494