1.创建表
CREATE[TEMPORARY] TABLE[IF NOT SEISTS] tb1_name
[(create_definition,...)]
[table_options][select_statement]
或:
CREATE[TEMPORARY] TABLE[IF NOT EXISTS] tb1_name
[(] like_old_tb1_name[)];
CREATE TABLE 用于创建带给定名称的表.你必须拥有表create权限
允许的表名称的规则列于9.2节,"数据库,表,索引,列和列名"中.默认的情况是,表被创建到当前的数据库中,如果表已存在,或者如果没有当前数据库或者如果数据库不存在,则会出现错误
表名称被指定为db_name.tb1_name,以便在特定的数据库中创建,不论是否有当前数据库,都可以通过这种方式创建表,如果你使用家引号的识别名,则应对数据库和表名称分别加引号,例,'mydb'.'mydb1'是合法的,但是'mydb.mytb1'不合法.
在创建表格时,你可以使用temporary关键字.只有在当前连接情况下,temporary表才是可见的,当链接关闭时,temporary表被自动取消,这意味着两个不同的链接可以使用相同的临时表名称,同事两个临时表也不会仙湖冲突,也不与原有的同名的非临时表冲突(原有表被隐藏,知道临时表被取消时为止) 你必须拥有Crete temporary tables权限才能穿件临时表如果表预警存在,则使用关键字if not exists可以防止发生错误,注意,原有表的结构与create table语句中表示的表的结构是否相同,这一点没有验证,注释:如果你在create table...select语句中使用if not exists,则不论表是否存在,由select部分选择的记录都会被插入
create table 表名(
字段名 字段类型,
字段名 字段类型,
...
);
Java和mysql的数据类型比较:
byte tinyint
short smallint
int int
long bigint
float float
double double
boolean bit
String char(n) varchar(n)
Data Data, Time DataTime, TImestamp
FileInputStream Bolb
FilderReader Text
区别:
char(n)类型是订长的,没有打到上限会用空白填充,使用它执行效率高
varchar(n)是可变长度,是按照实际长度计算,但是执行效率低下
与Oracle的区别:
数字类型的数据,在Oracle中数据类型都是使用number
在Oracle数据库中,字符类型使用的是varchar2()
在Oracle数据库中没有Text类型.有的是clob
eg:
创建一个学生表:
create table students(
id int,
name varchar(32),
gender bit,
age int
);
eg:
创建一个员工表:
create table employee(
id int primary key auto_increment,
name varchar(32),
gender bit default 1,
birthday date,
entry_data date,
position varchar(16),
salary double,
resume text
);
约束:
primary key : 主键
unique : 唯一
not null : 不为空
auto_increment : 自动增长
2.查看表
1.查看数据库中所有的表
show tables;
2查看表结构
desc 表名;
3查看建表语句
show create table 表名;
3.修改表结构
1.增加一列(字段)
alter table 表名 add 列名 类型名
2.在指定为止增加列(字段)
alter table 表名 add 要增加的字段名 要增加的字段类型 after 原表中的字段名
alter table 表名 add 要增加的字段名 要增加的字段类型 before 原表中的字段名
3.修改某个列的类型:
alter table 表名 modify 列名 类型;
4 修改列的名称
alter table 表名 change 列名 新列名 类型;
5.删除某一列
alter table 表名 drop 新表名
6.修改表名称
rename table 表名 to 新表名
7.修改表所使用的字符集
alter table 表名 character set utf8;
4.删除表
drop table 表名;