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;