一、创建数据库
CREATE DATABASE 数据库名称;
语句以英文 ';'(分号)结尾,表示执行SQL语句
二、使用数据库
USE 数据库名称;
三、创建数据库里的表
1. CREATE TABLE 表名称;
注意:表名/列名等称中不能有空格,如需要有空格吗,必须使用‘_’(下划线)代替空格
2. 创建表时需一同定义表中的列名
CREATE TABLE first_sheet
(
姓名 VARCHAR(30),
性别 DEC(1),
出生日期 DATE
体重 DEC(3,1)
);
注意:
① 数据类型必须定义,数据长度也须定义;数据长度中逗号前的表示数据允许存储总位数,逗号后表示小数点后的位数;
②列名需用英文逗号隔开,最后一个列名不需要逗号。
3. 描述表的结构
DESC 表名;
DESC 是'describe'的简称
4. 删除表
DROP 表名;
四、常用数据类型
1. CHAR和VARCHAR
① CHAR 存储不可变长的字符串,定义后所占有的空间是固定的;
② VARCHAR 存储可变长的字符串,定义后所占用的空间是不固定的,因此使用时可尽量把长度多定义一部分
③ VARCHAR 最大255字符
区别:
① CHAR占用的空间固定,如CHAR(10),即使存储‘aaa’也需要占有10个字符,'aaa'3个+7个空字符);VARCHAR占用的空间不固定,如VARCHAR(10),存储'aaa'只需要占用3个字符。
② CHAR的运算效率更快,但是占用的空间更大,VARCHAR的运算速度慢些,但是占用的空间更灵活;想要获得效率,就必须牺牲一定的空间,这也就是数据库设计上常说的‘以空间换效率’。
2. INTEGER和INT
表示正负整数,包含0,二者无本质区别
3. BLOB
存储大文本数据时使用
4. DEC,即DECIMAL缩写
存储数值
5. DATE
存储日期
6. DATETIME
存储日期和时间
五、INSERT语句
1. INSERT INTO 表名 (列名1,列名2,.....) VALUES ('value1','value2',..........);
注意:
① 数据值得顺序和列名的顺序必须一致;
② INSERT语句里CHAR、VARCHAR、BLOB和DATE的值必须加英文单引号;
③ DEC和INT等数值不需要加单引号。
2. 各种INSERT语句
① 列名的顺序可以改变,但是数值的顺序也需要根据改变的列名一起改变;
② 可省略所有列名,但是必须按建表时的顺序填入所有的数值;
③ 可省略部分列名,只填写已输入的列名对应的数值,其余未填写列名的数值会定义为NULL。
3. SELECT 基本语句
SELECT * FROM 表名
表示从表里查询所有的数据
六、NULL和DEFALUT
1. NULL
① NULL表示未定义的数值,它不等于零,也不是空字符串变量,甚至不等于它自己
② 可以把数值改为不接受NULL,这么做的话INSERT语句里一定要提供NOT NULL的值,否则会提示出错:
CREATE TABLE first_sheet
(
姓名 VARCHAR(30) NOT NULL,
性别 DEC(1) NOT NULL,
出生日期 DATE NOT NULL
体重 DEC(3,1)
);
2.DEFALUT
① 如果某些列通常有某个特定的值,那么我们可以把这个特定的值指派为DEFALUT的默认值
② 只要没有另外指派其他值,DEFALUT的值就会在每次新增记录时插入表中。
CREATE TABLE first_sheet
(
姓名 VARCHAR(30) NOT NULL,
性别 DEC(1) NOT NULL,
出生日期 DATE NOT NULL
身高 VARCHAR(3) NOT NULL DEFALUT 170
体重 DEC(3,1)
);