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
/* 创建数据库和管理数据库 */ #创建一个数据库 CREATE DATABASE j123; #删除一个数据库 DROP DATABASE j123; #选中数据库 USE j123; /* 整型 */ CREATE TABLE t_int( id TINYINT, num SMALLINT, age INT, phoneNum BIGINT ); SELECT * FROM t_int; /* 浮点型 float超过6位默认以科学计数的方法 */ CREATE TABLE t_fudian( num FLOAT, grade DOUBLE, money DECIMAL(4,2) ); SELECT * FROM t_fudian; /* 字符串类型 区别:char的长度是固定的,用空格来补空间 varchar长度可变,根据内容来确定长度。 char的效率要比varchar要高 在使用固定长度使用char */ CREATE TABLE t_char( c_name CHAR(2), address VARCHAR(100) ); SELECT * FROM t_char; /* 二进制 */ CREATE TABLE t_blob( img BLOB ); /* 日期类型 */ CREATE TABLE t_data( years YEAR, dates DATE, datatimes DATETIME ); SELECT * FROM t_data; INSERT INTO t_data(years,dates) VALUE(2016,2016-06-32); /* 布尔类型 true - 1 false - 0 */ CREATE TABLE t_boolean( boo BOOLEAN ); SELECT * FROM t_boolean; INSERT INTO t_boolean VALUE(TRUE); INSERT INTO t_boolean VALUE(FALSE); /* 创建表 */ #表名 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,"fangyan","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"); /* 域完整性 */ #非空 #默认 CREATE TABLE t_teacher( t_id INT PRIMARY KEY, t_name VARCHAR(20) UNIQUE, t_sex CHAR(2) DEFAULT "男", t_phone VARCHAR(20) NOT NULL ); INSERT INTO t_teacher(t_id,t_name,t_sex,t_phone) VALUES(1,'MR xu','女',NULL); INSERT INTO t_teacher(t_id,t_name,t_phone) VALUES(2,'MR xu1','1234567'); SELECT * FROM t_teache