LOADING

加载过慢请开启缓存 浏览器默认开启

Mysql

2023/9/16 MySQL Mysql

Mysql

DDL


基本命令

先登录,不必多说……

小tips:

使用过程中关键词要大写,比如USE,SELECT……(其实不区分,只是看起来显眼)

关于库(databases)

1.查看当前所有的库:
  show databases;

2.创建库:
  create database database_name;

3.删除库:
  drop database database_name;

4.使用某一个指定库:
  use database database_name;

注:
  use  数据库名 —打开指定数据库(如果表名或者字段名是特殊字符,则需要带``)
  
  eg:数据库名字为中文
       use '数据库'
       
5.删除指定的数据库:
  drop database database_name;
  

关于表(table)

使用table之前得先进入库中:

USE database database_name;

好嘟,现在可以对表进行操作:

1.查看库中所有的表:

 show tables;

2.查看表的结构:

desc table_name;

3.创建一个新表:

  • 表名
  • 表字段名
  • 定义每个表字段
  CREATE TABLE table_name (column_name column_type);

eg:

create table user(
     use_name  VARCHAR(25),
     user_birthday DATETIME
     );

换成中文:

 建立一个新表,表中数据有字段类型为VARCHAR(25)的 user_name 和 DATETIME型的 user_birthday。

1.4

eg:

建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。

CREATE TABLE Student 
(     Sno       CHAR(5) PRIMARY KEY,     
                    /* 列级完整性约束,Sno取值唯一*/
       Sname CHAR(18) UNIQUE,
       Ssex    CHAR(2), 
       Sage    INT, 
       Sdept  CHAR(15)
); 

常用的完整性约束:

1.    实体完整性约束: PRIMARY  KEY

2.    参照完整性约束:    FOREIGN  KEY 

3.    用户自定义完整性约束 :

   ​      非空值约束:not  null 

   ​      唯一性约束:unique 

   ​      check约束

   ​      default默认约束

4.修改表名:

alter table table_oldname rename to table_newname;

5.修改基本的表:

 ALTER TABLE <表名>
 ([ MODIFY COLUMN <列名> <新数据类型> ] //修改列的数据类型,可能会破坏已有的数据
  [ ADD [COLUMN] <列名> <数据类型>]  //增加一个新列,新增列一律为空值
  [DROP COLUMN <列名>]    //删除列   
  [ADD PRIMARY KEY(列名[,.. n ] )] //增加主码
  [ADD FOREIGN KEY(列名)RFERNECES表名(列名)]);

删除某一列的时候:

ALTER TABLE table_name DROP COLUMN field_name;
//大写,否则会出现问题

1.5

6.删除表中的所有数据

delete from table_name;

5.一键删除所有的表:

  drop table table_name;

6.创建临时表

create temporary table table_name ;

创建的过程和创建表的过程一样

7.查看表的内容

show columns form table_naem;

3.复制表

create table new_name like old_name;
insert into new_name select * form old_name;

1.3

关于索引

1.建立索引

 CREATE [UNIQUE] [CLUSTER] INDEX <索引名> 
    ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);

例:

为学生-课程数据库中的Student,Couse,SC三个表建立索引。其中Student表按学号升序建唯一索引,Couse表按课程号升序建唯一索引,SC 表按学号降序和课程号升序建唯一索引。
CREATE UNIQUE INDEX Stsno ON Student(Sno ASC);
CREATE UNIQUE INDEX Cocno ON Couse(Cno); 
CREATE UNIQUE INDEX SCno ON SC(Sno DESC,Cno);

2.删除索引

 DROP INDEX <索引名>   ON 表名;
或者
         ALTER TABLE  表名  DROP INDEX <索引名> ;