首页 > 代码库 > mySQL(1)
mySQL(1)
如何设计Web数据库:
1)考虑要建模的实际对象。
2)避免保存冗余数据。
3)使用原子列值(对每一行的每个属性只存储一个数据。)
4)选择有意义的键。
5)考虑需要询问数据库的问题。
6)避免多个空属性的设计
Web数据库架构:
浏览器和Web服务器之间的通信:
浏览器和PHP&MySQL服务器之间的通信:
1)用户的Web浏览器发出HTTP请求,请求特定Web页面。
2)Web服务器收到.php的请求获取该文件,并将它传到PHP引擎,要求它处理。
3)PHP引擎开始解析脚本。脚本中有一条连接数据库的命令,还有执行一个查询的命令。PHP打开通向MYSQL数据库的连接,发送适当的查询。
4)MYSQL服务器接收数据库查询并处理。将结果返回到PHP引擎。
5)PHP以你去哪干完成脚本运行,通常,这包括将查询结果格式化成HTML格式。然后再输出HTML返回到Web服务器。
6)Web服务器将HTML发送到浏览器。
MySQL操作:
登录到MySQL:
1)打开MySQL Command Line Client
2)输入root的设置密码
MySQL常规命令:
1)显示当前数据库的版本号和日期。
SELECT VERSION(),CURRENT_DATE();
2)通过AS关键字设置字段名。
SELECT VERSION() AS version; //可设置为中文,通过单引号
3)通过SELECT 执行返回计算结果
SELECT (20+5)*4;
4)通过多行实现数据库的使用者和日期
>SELECT
>USER()
>,
>NOW()
>;
5)通过一行显示数据库使用者和日期
>SELECT USER();SELECT NOW(); //分别打印出两个表格
6)命令的取消
>\c
7)MySQL窗口的退出
>exit; //也可以quit or ctrl+c
MySQL常用数据类型:
整数型:TINYINT,SMALLINT,INT,BIGINT
浮点型:FLOAT,DOUBLE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DATETIME,DATE,TIMESTAMP
备注型:TINYTEXT,TEXT,LONGTEXT
日期型
列类型 | “零”值 |
DATETIME | ‘0000-00-00 00:00:00‘ |
DATE | ‘0000-00-00‘ |
TIMESTAMP | 00000000000000 |
TIME | ‘00:00:00‘ |
YEAR | 0000 |
字符串型
值 | CHAR(4) | 存储需求 | VARCHAR(4) | 存储需求 |
‘‘ | ‘ ‘ | 4个字节 | ‘‘ | 1个字节 |
‘ab‘ | ‘ab ‘ | 4个字节 | ‘ab‘ | 3个字节 |
‘abcd‘ | ‘abcd‘ | 4个字节 | ‘abcd‘ | 5个字节 |
‘abcdefgh‘ | ‘abcd‘ | 4个字节 | ‘abcd‘ | 5个字节 |
char类型是定长类型,空格也是一个字符,访问速度快,一般用于密码,性别等;
varchar是可变长度类型,会把后面的空格删除,而自身的长度会在原字符长度基础上+1。
整数型
类型 | 字节 | 最小值 | 最大值 |
|
| (带符号的/无符号的) | (带符号的/无符号的) |
TINYINT | 1 | -128 | 127 |
|
| 0 | 255 |
SMALLINT | 2 | -32768 | 32767 |
|
| 0 | 65535 |
MEDIUMINT | 3 | -8388608 | 8388607 |
|
| 0 | 16777215 |
INT | 4 | -2147483648 | 2147483647 |
|
| 0 | 4294967295 |
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
|
| 0 | 18446744073709551615 |
整数型
类型 | 字节 | 最小值 | 最大值 |
FLOAT | 4 | +-1.175494351E-38 | +-3.402823466E+38 |
DOUBLE | 8 | +-2.2250738585072014E-308 | +-1.7976931348623157E+308 |
DECIMAL | 可变 | 它的取值范围可变。 |
备注型
类型 | 描述 |
TINYTEXT | 字符串,最大长度255个字符 |
TEXT | 字符串,最大长度65535个字符 |
MEDIUMTEXT | 字符串,最大长度16777215个字符 |
LONGTEXT | 字符串,最大长度4294967295个字符 |
MySQL数据库操作:
1)显示当前存在的数据库
>SHOW DATABASES;
2)选择你所需要的数据库
>USE guest;
3)查看当前所选择的数据库
>SELECT DATABASE();
4)查看一张表的所有内容
>SELECT * FROM g_friend; //可以先通过SHOW TABLES;来查看有多少张表
5)根据数据库设置中文编码
>SET NAMES gbk; //set names utf8;
6)创建一个数据库
>CREATE DATABASE book;
7)在数据库里创建一张表
>CREATE TABLE users (
>username VARCHAR(20), //NOT NULL 设置不允许为空
>sex CHAR(1),
>birth DATETIME);
8)显示表的结构
>DESCIRBE users; //表中各字段的描述信息
9)给表插入一条数据
>INSERT INTO users (username,sex,birth) VALUES (‘alex‘,‘x‘,NOW());
10)筛选指定的数据
> SELECT * FROM users WHERE username = ‘alex‘;
11)修改指定的数据
>UPDATE users SET sex = ‘男‘ WHERE username=‘alex‘;
12)删除指定的数据
> DELETE FROM users WHERE username=‘alex‘;
13)按指定的数据排序
> SELECT * FROM users ORDER BY birth DESC; //正序
14)删除指定的表
>DROP TABLE users;
15)删除指定的数据库
>DROP DATABASE book;