登录 MySQL
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
参数说明:
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
MySQL 创建数据库
第一种方法:
CREATE DATABASE 数据库名;
操作如下:
第二种方法创建:
使用 mysqladmin 创建数据库
MySQL 删除数据库
drop 命令删除数据库
drop database <数据库名>;
使用 mysqladmin 删除数据库
mysqladmin -u root -p drop 数据库名
MySQL 选择数据库
通过上面例子知道怎么创建数据库了,那么就自己创建几个数据库,然后在让我们尝试选择数据库。
在 登录mysql数据库中后,使用use 数据库名,即可选择我们需要使用的数据库
执行以上命令后,你就已经成功选择了 RUNOOB 数据库,在后续的操作中都会在 RUNOOB 数据库中执行。
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。
MySQL 数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
MySQL 创建数据表
创建MySQL数据表需要以下信息:
- 表名
- 表字段名
- 定义每个表字段
语法
以下为创建MySQL数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);
例子:
mysql> create table if not exists bokeyuan_student(
-> bky_id int unsigned auto_increment,
-> bky_title varchar(200) not null,
-> bky_author varchar(40) not null,
-> bky_date date,
-> primary key (bky_id)
-> )engine=InnoDB default charset=utf8;
Query OK, 0 rows affected (0.04 sec)
MySQL 删除数据表
DROP TABLE table_name ; (太简单了不举例说明了)
删除表内数据,用 delete。格式为:
delete from 表名 where 删除条件;
实例:删除学生表内姓名为张三的记录。
delete from student where T_name = "张三";
清除表内数据,保存表结构,用 truncate。格式为:
truncate table 表名;
实例:清除学生表内的所有数据。
truncate table student;
删除表用 drop,就是啥都没了。格式为:
drop table 表名;
实例:删除学生表。
drop table student;
1、当你不再需要该表时, 用 drop;
2、当你仍要保留该表,但要删除所有记录时, 用 truncate;
3、当你要删除部分记录时, 用 delete。
1、drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM;
实例,删除学生表:
drop table student;
2、truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM;
实例,删除学生表:
truncate table student;
3、delete from table_name : 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间;
实例,删除学生表:
delete from student;
4、delete from table_name where xxx : 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间;
实例,删除学生表中姓名为 "张三" 的数据:
delete from student where T_name = "张三";
5、delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam;
实例,删除学生表中姓名为 "张三" 的数据:
delete from student where T_name = "张三";
实例,释放学生表的表空间:
optimize table student;
6、delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。