MySQL心得2--命令行方式建库和表(一)

2014-11-24 09:39:24 · 作者: · 浏览: 3
1.创建 数据库
使用create database或create schema命令可以创建数据库
create database 库名
create database if not exists 库名(创建库并检验创建的库是否存在,不存在则建,存在就不建了)
MySQL不允许两个数据库使用相同的名字,使用ifnot exists从句可以不显示错误信息
显示所有数据库: showdatabases; www.2cto.com
显示创建数据库的定义信息: show create dabasese 库名
2. 创建了数据库之后使用USE命令可指定当前数据库。
语法格式:use db_name;
说明:这个语句也可以用来从一个数据库“跳转”到另一个数据库,在用create database语句创建了数据库之后,该数据库不会自动成为当前数据库,需要用这条USE语句来指定。
注意:在MySQL中,每一条SQL语句都以“;”作为结束标志。
mySQL语法中不区分大小写。创建数据库的必须是系统管理员,或者拥有用户级别的create权限。在安装MySQL的过程中已经创建了系统管理员,名为root,假设密码为root。
3.创建库的同时指定字符集,校对规则:
create database mydb character set utf8
collate utf8-general_ci;
character set:指定数据库字符集(Charset),collate:指定字符集的校对规则
4.修改数据库,只能改参数
数据库创建后,如果需要修改数据库的参数,可以使用alter database命令。
语法格式:
alter {database | schema} [db_name]
alter_specification [, alter_specification] ...
其中alter_specification: www.2cto.com
[default] character set charset_name
| [default] collate collation_name
说明:
alter database用于更改数据库的全局特性,这些特性储存在数据库目录中的db.opt文件中。用户必须有对数据库进行修改的权限,才可以使用 alterdatabase。修改数据库的选项与创建数据库相同,功能不再重复说明。如果语句中数据库名称忽略,则修改当前(默认)数据库。
5.删除数据库
drop database 库名
drop database if exists 库名(避免删除不存在的数据库时出现的MySQL错误信息。)
注意:这个命令必须小心使用,因为它将删除指定的整个数据库,该数据库的所有表(包括其中的数据)也将永久删除。
6.创建表
创建表就是创建表的结构:包含哪些字段(属性),字段名,字段类型
create table 表名
(字段名1 类型,
字段名2 类型,
。。。。
);
举例:创建一个学生表
use 库名(确定你的表建在哪个库中,把此库变为当前数据库);
create table xs
www.2cto.com
(
id int,
name char(10),
sex char(2)
);
Create [temporary] table [if not exists] tbl_name
[ ( [column_definition] , ... | [index_definition] ) ]
[table_option] [select_statement];
说明:
● temporary:该关键字表示用create命令新建的表为临时表。不加该关键字创建的表通常称为持久表,在数据库中持久表一旦创建将一直存在,多个用户或者多个应用程序可以同时使用持久表。有时候需要临时存放数据,例如,临时存储复杂的select语句的结果。此后,可能要重复地使用这个结果,但这个结果又不需要永久保存。这时,可以使用临时表。用户可以像操作持久表一样操作临时表。只不过临时表的生命周期较短,而且只能对创建它的用户可见,当断开与该数据库的连接时,MySQL会自动删除它们。
● 创建表时也可使用if not exists语句来判断创建的表是否已存在,避免出现错误。
● 要创建的表的表名(tbl_name)必须符合标志符规则,如果有MySQL保留字必须用单引号括起来。
● column_definition:列定义,包括列名、数据类型,可能还有一个空值声明和一个完整性约束。
● index_definition:表索引项定义,主要定义表的索引、主键、外键等,具体定义将在后面讨论。 www.2cto.com
● table_option:用于描述表的选项。
● select_statement:可以在create table语句的末尾添加一个select语句,在一个表的基础上创建表
7.修改表结构:增加字段 修改旧字段 删除字段
alter table 表名
add 字段名 类型(宽度) //增加字段
modify 旧字段 类型 //修改旧字段
drop 字段名 //删除字段
change 旧字段名 新字段内容 //改列名
order by col_name //排序
convert to character set charset_name [字符集名] //将字符集转换为二进制
[default]character set charset_name [字符集名] //修改默认字符集
举例:在学生表中增加birthday字段、修改name字段、修改字段name的名;
alter table xs
add birthday date;
www.2cto.com
modify name varchar(20);
change name sname varchar(20);
8.修改表名
rename table 旧名 to 新名
分类
数据类型
说明
数值类型
bit (M)
tinint [unsigned] [zerofill]
bool,boolean
smallint [unsi