MySQL 表的操作语句(2)

一:MySQL支持的数据类型

1:CHAR和TEXT :分别表示定长的和可变长的串。
CHAR:1-255个字符的定长串,它的长度必须在创建时指定。
TEXT:最大长度为64K的文本
VARCHAR:长度为0-255之间的可变字符串。
//MySQL处理不定长的串比处理定长的串的效率低的多。

2:数值,取值范围越大,需要的字节数越多,除过BIT和BOOLEAN之外,所有的都支持有符号和无符号两种类型。
BIT:位字段,1-64位。
BOOLEAN:bool,0或者1TINYINT:相当于char。
DECIMAL:精度可变的浮点值。货币可以使用DECIMAL。
SMALLINT:相当于short。
INT:普通的INT。
FLOAT:单精度浮点值。
DOUBLE:双精度浮点值。
BIGINT:整数值,范围非常大。

3:日期和时间
DATE:1000-01-019999-12-31,格式YYYY-MM-DD
TIME:格式HH:MM:SS
DATETIME: DATE和TIME的结合。
YEAR:用两位数表示,范围为1901~2155

4:二进制数据类型:存储信息,图像。
BLOB:BLOB最大长度为64KB
TINYBLOB:255个字节
MEDIUMBLOB:16M
LONGBLOB:4G

二:创建,删除,更新,插入。

//创建表
CREATE TABLE student //指定表名为student ( stu_id int NOT NULL AUTO_INCREMENT PRIMARY KEY, //stu_id类型为int,并且AUTO_INCREMENT指定本列每当增加一行时自动增量。 stu_name CHAR(30) NOT NULL, //stu_name 不能为NULL,NULL不等于空串。 stu_phoneNum CHAR(30) NULL, DEFAULT '110', //NULL表明stu_phoneNum允许为空值。并且设置默认电话号码为'110' stu_age int NOT NULL check(stu_age BETWEEN 18 AND 25), //但是好像check在MySQL中不支持 stu_courseID int REFERENCES Course(stu_courseID), //定义外键,使得student.stu_courseID与Course表中的stu_courseID一样。 stu_time datetime DEFAULT now() //设置stu_time的默认值为当前的时间。 );

create table test(a int identity1,1),b int) //identity(1,1) 表示默认从1开始每次增加1 //更新表 ALTER TABLE student ADD stu_address CHAR(20) NOT NULL; 
//这条语句可以给vendors增加一个stu_address的列,但是注意必须确定其数据类型。

ALTER TABLE student MODIFY COLUMN stu_id int NOT NULL AUTO_INCREMENT; 
//如果没有给stu_id指定AUTO_INCREMENT,可以用MODIFY指定AUTO_INCREMENT,但是注意需要给stu_id 指定类型
ALTER TABLE student MODIFY COLUMN stu_time timestamp DEFAULT now();  //更新stu_time的默认值为now()。


ALTER TABLE student ALTER COLUMN stu_id SET DEFAULT 0;     //重新设置stu_id默认值为0

ALTER TABLE student MODIFY COLUMN stu_id int DEFAULT 0;    //和上面的语句效果是一样的。

UPDATE student SET stu_id=1 WHERE stu_name='yang';         //只更新名字为yang的一行,将它的stu_id设为1

UPDATE student SET stu_id=1;                               //直接将所有的行更新。


//删除表和数据库,删除一列
DROP DATABASE database;       //删除数据库databse
DROP TABLE student;          //删除表直接用DROP TABLE ALTER TABLE table DROP COLUMN stu_id;  //删除掉表table中的stu_id列
DELETE FROM student WHERE stu_id=1;  //删除stu_id为1的那一列

//重命名
RENAME TABLE stduent TO stduent1 //将student命名为student1

你可能感兴趣的:(mysql)