MySQL基本操作
<代码> mysql命令 mysql - h host_name - u user_name -ppassword h:当连接MySQL服务器不在同台主机时,填写主机名或IP地址 u:登录MySQL的用户名 MySQL的p:登录密码代码> >之前- - - - - - - - - - - - - - - - -
常用命令:<代码>选定默认数据库:使用dbname; 显示所有数据库:显示数据库; 显示默认数据库中所有表:显示表; 放弃正在输入的命令:\ c 显示命令清单:\ h 退出mysql程序:\问 查看MySQL服务器状态信息:\ s 代码>- - - - - - - - - - - - - - - - -
SQL语法组成<代码> DML(数据操作语言数据操作语言) ——查询,插入,删除和修改数据库中的数据; ——选择、插入、更新、删除等; DCL(数据控制语言数据控制语言) ——用来控制存取许可,存取权限等; ——格兰特,撤销等; DDL(数据定义语言数据定义语言) ——用来建立数据库,数据库对象和定义其列 ——创建表,删除表,表等改变 功能函数 ——日期函数、数学函数,字符函数,系统函数等代码>- - - - - - - - - - - - - - - - -
MySQL中使用SQL语言几点说明:
<代码>属于一个SQL语句,使用分号(,)结尾,否则mysql认为语句没有输入完。 箭头(→)代表的SQL语句没有输入完 取消SQL语句使用(\ c) SQL语句关键字和函数名不区分大小写(Linux区分,窗户不区分) 使用函数时,函数名和后面的括号之间不能有空格代码>- - - - - - - - - - - - - - - - -
建立数据库操作:<代码>语法:创建数据库数据库名 叙述:创建一个具有指定名称的数据库。如果要创建的数据库已经存在,或者没有创建的适当权限,则此语句失败。 例:建立一个学生库。 mysql>创建数据库的学生;代码>- - - - - - - - - - - - - - - - -
建立表操作:<代码>语法:创建表的表名( 列名1列类型[& lt;列的完整性约束在), 列名2列类型[& lt;列的完整性约束在), ……); 叙述:在当前数据库下新创建一个数据表。 列类型:表示该列的数据类型。 例: 学校建立一个表,其由两列组成,第一列属性为非空,并做为主键,并自增 创建表学校( school_id int (10) not null auto_increment主键, school_name varchar (20) );代码>- - - - - - - - - - - - - - - - -
常见完整性约束:<代码>主键主码约束(主键) 独特的唯一性约束 非空非空值约束 AUTO_INCREMENT用于整数列默认自增1 无符号无符号整数 默认default_value默认值约束 默认cur_timestamp创建新记录时默认保存当前时间(仅适用时间戳数据列) 在更新cur_timestamp修改记录时默认保存当前时间(仅适用时间戳数据列) 字符集名称指定字符集(仅适用字符串)代码>- - - - - - - - - - - - - - - - -
在创建一个新的MySQL数据表时,<代码>可以为它设置一个类型,其中最重要的3种类型是 MyISAM:成熟,稳定和易于管理 InnoDB:加入事物,数据行级锁定机制,外键约束条件,崩溃恢复等新功能 堆:只存在于内存中,可做临时表 创建表tmp (…)=MyISAM引擎代码>- - - - - - - - - - - - - - - - -
<代码>数据表之间的关联/引用关系是依靠具体的主键(主键)和外键(外键)建立起来的。 主键:帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来。 主键必须是唯一的 主键应该是紧凑的,因此整数类型比较适合 外键:引用另外一个数据表的某条记录。 外键列类型尽可能与主键列类型保持一致 外键列应该加上非空代码>- - - - - - - - - - - - - - - - -
<代码>主键 创建表的学生( sid int not null auto_increment, 名字varchar(20)没有空, 主键(sid) ); 外键(自动检查外键是否匹配,仅适用InnoDB) 创建表的分数( cid int not null auto_increment主键, 分数int, sid int, 外键(sid)引用学生(sid) );代码>- - - - - - - - - - - - - - - - -
主表和从表
<代码> 1,当主表中没有对应的记录时,不能将记录添加到子表 ——成绩表中不能出现在学员信息表中不存在的学号; 2,不能更改主表中的值而导致子表中的记录孤立MySQL的基本操作