当前位置:Gxlcms > 数据库问题 > day05 数据库

day05 数据库

时间:2021-07-01 10:21:17 帮助过:16人阅读

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 数据库

标签:

人气教程排行