day05 数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day05 数据库相关的知识,希望对你有一定的参考价值。
1:创建数据库
语法:CREATE DATABASE 数据库名;
2:连接到数据库
语法:USER 数据库名
3:删除数据库
语法:DROP DATABASE 数据库名;
4:整数数据类型:
从小到大依次为:TINYINT SMALLINT MIDDLEINT INT BIGINT
5:浮点数据类型
包括:REAL FLOAT DOUBLE DECIMAL NUMERIC
6:字符串型
包括CHAR NCHAR VARCHAR NVARCHAR TEXT NTEXT
其中CHARY与VARCHAR的区别为:CHAR长度固定,如果没有填,用空格填充空间,占内存大。VARCHAR长度可变,根据内容来确定空间,但CHAR 的效率比VARCHAR效率高,因为VARCHAR要计算长度。
7:二进制数据类型
BINARY VARBINARY
8:日期和时间数据类型
DATETIME SMALLDATETIME
9
/*创建表
*/
#表名 t_开始 列名 表名第一个字母作为前缀
#没列用逗号分割,最后一个列不需要逗号
CREATE TABLE t_stu(
s_id INT,
s_name VARCHAR(40),
s_phone VARCHAR(20),
s_grade DOUBLE,
s_teacher VARCHAR(20)
);
CREATE TABLE t_stu();
SELECT * FROM t_stu;
INSERT INTO t_stu VALUE(1,"张三","135558880",79.5,"Mr xu");
/*
删除表
*/
DROP TABLE t_stu;
/*
复制表
*/
CREATE TABLE t_stu1 SELECT * FROM t_stu; #要拷贝结构和数据
SELECT * FROM t_stu1;
DROP TABLE t_stu1;
CREATE TABLE t_stu2 SELECT * FROM t_stu WHERE 1=0;
SELECT * FROM t_stu2;
/*
修改表
*/
#修改表名 t_student
ALTER TABLE t_stu2 RENAME t_student;
SELECT * FROM t_student;
#修改列的属性 change 第一个原来表的列名 第二个修改后的列名
ALTER TABLE t_student CHANGE s_teacher s_teacher INT;
ALTER TABLE t_student CHANGE s_phone s_ph INT; #
ALTER TABLE t_student MODIFY s_teacher VARCHAR(20);
/*
增加一列
*/
ALTER TABLE t_student ADD s_sex CHAR(2);
SELECT * FROM t_student;
/*
删除一列
*/
ALTER TABLE t_student DROP s_sex;
/*
创建一个索引
*/
CREATE INDEX name_index ON t_student(s_name);
#unique创建了一个唯一索引,索引可以有多个,但是索引值必须唯一,可以为空
CREATE UNIQUE INDEX id_index ON t_student(s_id);
/*删除索引*/
ALTER TABLE t_student DROP INDEX name_index;
/*
实体完整性
*/
#主键约束 primary key 保证每行数据必须唯一,默认有一个非空
CREATE TABLE t_car(
c_id INT PRIMARY KEY,
c_name VARCHAR(100),
c_color VARCHAR(20)
);
DROP TABLE t_car;
SELECT * FROM t_car;
CREATE TABLE t_car2(
c_id INT,
c_name VARCHAR(100),
c_color VARCHAR(20)
);
ALTER TABLE t_car2 ADD CONSTRAINT pk_id PRIMARY KEY(c_id); #指定主键的名称
ALTER TABLE t_car2 ADD PRIMARY KEY(c_id); #不指定主键的名称直接操作列
INSERT INTO t_car2 VALUES(1,‘msld‘,‘red‘);
SELECT * FROM t_car2;
/*删除主键*/
ALTER TABLE t_car2 DROP PRIMARY KEY;
DROP TABLE t_car2;
/*
唯一约束
保证当前列里面的数据必须唯一
数据可以为null
*/
CREATE TABLE t_car2(
c_id INT,
c_name VARCHAR(100) UNIQUE,
c_color VARCHAR(20),
PRIMARY KEY(c_id) #也表示增加主键
);
SELECT * FROM t_car2;
INSERT INTO t_car2(c_name,c_color)VALUES(‘msld‘,"red");
INSERT INTO t_car2(c_name,c_color)VALUES(‘msld_v12‘,"blue");
以上是关于day05 数据库的主要内容,如果未能解决你的问题,请参考以下文章