SQL语句

SQL语句3大类

数据库级别
表级别
数据行级别

  • 数据库级别和表级别不重要,因为它们都是一次性的操作,我们创建也只能创建一次数据库,创建表也创建一次就好了,紧接着重复操作的就是表里面的数据,

数据库级别

1.查看数据库

SHOW DATABASES;

2.创建数据库

CREATE DATABASE 数据库名称;
  • 这里要注意,数据库名称不能为英文;

    • 因为我们保存文件的时候,有可能会保存成gbk的形式,那我们用UTF8形式来打开,我们就可能会看不到数据,所以数据库在操作的时候,我们也要指定数据库是什么编码的,数据库的编码有很多,最常用的就是gbk和utf8;jacky这里推荐大家用utf8;
#utf-8
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

使用数据库

USE db_name;
  • 显示当前使用的数据库中所有表:SHOW TABLES;

删除数据

DROP DATABASE 数据库名称;

表级别

1.查看表

SHOW tables;
  • jacky提示:在使用SHOW tables 之前,必须先选择数据库,否则将会报错

如何查看表的定义?

DESCRIBE 表名;
或
DESC 表名;

2.创建表

create table 表名(
    列名 类型 是否可以为空,
    列名 类型 是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8
  • (1)是否可以为空,null表示空,非字符串

    • not null 不可空

    • null 可空

  • (2)默认值,创建列时可以指定默认值,当插入数据时如果没有主动设置,则自动添加默认值;

    • create table demo1(nid int not null defalut1,num int null)

      • defalut 1 就是默认值等于1,不输入值的时候,默认值等于1;
  • (3)自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)

create table demo1(
    nid int not null auto_increment primary key,
    num int null)

create table demo1(
    nid int not null auto_increment,
    num int null,
    index(nid))
  • jacky强调:

    • 1) 对于自增列,必须是索引(含主键)

    • 2) 对于自增可以设置步长和起始值

3.删除表

(1)直接把表删除

drop table demo;

(2)清空表内容

#如果有自增列,删除表在插入,接着之前的自增列继续
delete from demo;
#删除速度更快,如果有自增列,直接回到原点
truncate table demo;
原文地址:https://www.cnblogs.com/shujufenxi/p/8543528.html