一,0824Mysql
1,连接数据库
[yellowbar]
mysql 命令用户连接数据库。
mysql 命令格式: mysql -h 主机地址 -u 用户名 -p 用户密码
- 连接到本机上的 MYSQL 首先打开 DOS 窗口,然后进入目录 mysql\bin,再键入命令 mysql -u root -p,回车后提示你 输密码。
注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密 码。
如果刚安装好 MYSQL,超级用户 root 是没有密码的,故直接回车即可进入到 MYSQL 中了, MYSQL 的提示符是: mysql>
- 连接到远程主机上的 MYSQL
假设远程主机的 IP 为:110.110.110.110,用户名为 root,密码为123456。则键入以下命令: mysql -h110.110.110.110 -u root -p 123456;(注:u 与 root 之间可以不用加空格,其它也一样)
- 退出 MYSQL 命
[/yellowbar]
2,配置环境变量
配置MySQL环璄变量
1,我的电脑 - 击右键 - 属性
3,启动停止服务
[greenbar]
通过系统服务器启动和停止MYSQL
net start mysql
net stop mysql
[/greenbar]
4,create:创建数据库
[redbar]
create 命令用于创建数据库。
create 命令格式:create database <数据库名>;
注意:创建数据库之前要先连接 Mysql 服务器。
-
建立一个名为 xhkdb 的数据库: mysql> create database xhkdb;
-
创建数据库并分配用户:
a:CREATE DATABASE 数据库名;
b:GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码’;
c:SET PASSWORD FOR ‘数据库名’@‘localhost’ = OLD_PASSWORD(‘密码’); 依次执行 3 个命令完成数据库创建。
注意:中文 “密码”和“数据库”是户自己需要设置的。
[/redbar]
5,show databases:显示数据库
[bluebar]
show databases 命令用于显示所有数据库。
show databases 命令格式:show databases; (注意:最后有个 s)
例如:mysql> show databases;
[/bluebar]
6,drop database:删除数据库
[purplebar]
drop 命令用于删除数据库。
drop 命令格式:drop database <数据库名>;
例如,删除名为 xhkdb 的数据库: mysql> drop database xhkdb;[例子 1] 删除一个已经确定存在的数据库:
mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)
[/purplebar]
7,use:使用数据库
[redbar]
use 命令可以让我们来使用数据库。
use 命令格式: use <数据库名>;
例如,如果 xhkdb 数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed
- use 语句可以通告 MySQL 把 db_name 数据库作为默认(当前)数据库使用,用于后续语 句。该数据库保持为默认数据库,直到语段的结尾,或者直到出现下一个不同的 use 语句:
mysql> USE db1;
mysql> SELECT COUNT() FROM mytable; # selects from db1.mytable
mysql> USE db2;
mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable
[/redbar]
8,select:当前连接的数据库
[yellowbar]
select 命令表示当前选择(连接)的数据库。
select 命令格式:mysql> select database();
MySQL 中 SELECT 命令类似于其他编程语言里的 print 或者 write,你可以用它来显示一个字 符串、数字、数学表达式的结果等等
[/yellowbar]
9,create table:创建数据表
[greenbar]
数据表属于数据库,在创建数据表之前,应该使用语句“USE <数据库名>”指定操作是在哪 个数据库中进行,如果没有选择数据库,会抛出“No database selected”的错误。
创建数据表的语句为 CREATE TABLE,语法规则如下:
CREATE TABLE <表名> (
字段名 1,数据类型 [列级别约束条件] [默认值],
字段名 2,数据类型 [列级别约束条件] [默认值], „„
[表级别约束条件] );
[/greenbar]
10,drop table:删除数据表
[bluebar]
在 MySQL 中,使用 DROP TABLE 可以一次删除一个或多个没有被其他表关联的数据表。
语 法格式如下:
DROP TABLE [IF EXISTS]表 1, 表 2, . . . 表 n;
[/bluebar]
二,MYSQL中数据类型介绍
一、MySQL的数据类型 主要包括以下五大类:
[greenbar]
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、 BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、 MultiLineString、Polygon、GeometryCollection
[/greenbar]
1、整型
[yellowbar]
MYSQL数据类型 | 含义(符号) |
---|---|
tinyint(m) | 1个字符范围(-128-127) |
smallint(m) | 2个字符范围(-32768-32767) |
mediumint(m) | 3个字符范围 (-8388608-8388607) |
int(m) | 4个字符范围 (-2147483648-2147483647) |
bigint(m) | 8个字符范围(±9.22*10的18次方) |
[/yellowbar]
2、浮点型(float和double)
[redbar]
MYSQL数据类型 | 含义 |
---|---|
float(m,d) | 单精度浮点型8位精度(4字节)m总个数,d小数位 |
double(m,d) | 双精度浮点型16位精度(8字节)m总个数,d小数位 |
设一个字段定义为float(6,3),如果插入一个数123.45678实际数据库存的是123.457,但总个数还以实际为准,即6位。整数部分最大是3 位
,如果插入12.12,存储的是12.1200.
[/redbar]
3,定点数
[bluebar]
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d)参数m<65是总个数,d<30且,d<m是小数位
[/bluebar]
4,字符串(char,varchar,_text)
[purplebar]
优缺点
varchar:不会造成空间的浪费,节省空间,缺点是需要系统进行计算,性能上会有损失
char:造成空间的浪费,优点,提升性能
text:不能用默认值,
[/purplebar]
5,二进制数据(Blod)
[greenbar]
1,BLOB和存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而Blod是以二进制方式存储,不分大小写
2,BLOB存储的数据只能整体读出
3,text可以指定字符集,blob不用指定字符集
[/greenbar]
6,日期时间类型
[yellowbar]
MYSQL数据类型 | 含义 |
---|---|
date | 日期’2008-12-2’ |
time | 时间’12:25:36’ |
datetime | 日期时间’2008-12-2 22:06:44’ |
timestamp | 自动存储记录修改时间 |
[/yellowbar]
数据类型的属性
[redbar]
MySQL关键字 | 含义 |
---|---|
NULL | 数据列可包含NULL值 |
NOT NULL | 数据列不允许包含NULL值 |
DEFAULT | 默认值 |
PRIMARY KEY | 主键 |
AUTO_INCREMENT | 自动递增,适用于整数类型 |
UNSIGNED | 无符号 |
CHARACTER SET name | 指定一个字符集 |
[/redbar]
三、使用建议
[purplebar]
1,在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型 的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。
2、不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩 数据表
3、数据表和字段的起名字也是一门学问
4、设计数据表结构之前请先想象一下是你的房间,或许结果会更加合理、高效 5、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的
[/purplebar]