数据库的基本语法

数据库的基本语法


MYSQL的字符集设置

如何保证页面不乱码

1.html页面字符集utf-8

2.html声明字符集<meta charset=utf-8>

3.css页面字符集utf-8

4.css声明字符集  @charset utf-8;

5.php页面字符集utf-8

6.php声明字符集

 header(content-type:text/html;charset=utf-8);

7.数据库字符集(库字符集/表字符集/字段字符集)

8.PHP-MYSQL连接字符集

mysql> create table charset(id int,name char(30),age tinyint,sex tinyint)engine=myisam defaul charset=utf8;---->引擎、字符集

数据库的数据类型:

整型:

tinyint    微整型 0~255   -128~127   年龄/真假/鞋码。。。

smallint   小整型  0-65535   数值不大的数据

medium   中整型 。。。。

int   整型    大小和PHP一样  一般id使用

bigint  大整形  一般不用

 

浮点型:

 

 float 单精度浮点型  

 double 双精度浮点型  一般不用

 Decimal  浮点型字符串  用字符串来表示的浮点型,一般用于金融数据

字符串类型:

char    定长的字符类型----有固定长度上限 姓名,国籍 商品

varchar 变长的字符类型----不具有固定长度上限

BLOB 类型  文本类型   用于存储文件数据的类型  图片,视频,音频等。。 一般不存储文件类型,而是存储文件的路径。

TEXT 类型  文本类型   用于存储大型文本数据的类型

VARBINARY  变长的二进制字符串类型

BINARY  定长的二进制字符串类型

布尔类型:

数据库中不存在布尔类型,使用tinyint的0和1来表示布尔值

时间类型:(仅供了解,用整型来存储时间戳)

ENUM 枚举类型   单选按钮

特征:该类型需要预先设置该类型的所有可能值,用户添加的数据仅能在指定的数据中选取一个,否则无法插入数据

Enum(,)

SET集合类型     多选按钮

特征:该类型需要预先设置该类型的所有可能值,用户添加的数据能在指定的数据中选取一个或多个,否则无法插入

如何操作数据库:

连接到数据库的方式:

集成环f境WAMP  

 

 

 

非集成环境

打开虚拟DOS界面

1. 直接找到mysql.exe的路径

C:\Documents and Settings\lamp>D:\wamp\bin\mysql\mysql5.5.24\bin\mysql.exe

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 31

Server version: 5.5.24-log MySQL Community Server (GPL)

2.按照层级关系找到mysql.exe 再输入mysql.exe -h 127.0.0.1 -u root -p

C:\Documents and Settings\lamp>cd..

C:\Documents and Settings>cd..

C:\>d:

D:\>cd wamp

D:\wamp>cd bin

D:\wamp\bin>cd mysql

D:\wamp\bin\mysql>cd mysql5.5.24

D:\wamp\bin\mysql\mysql5.5.24>cd bin

D:\wamp\bin\mysql\mysql5.5.24\bin>mysql.exe -h 127.0.0.1 -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 32

Server version: 5.5.24-log MySQL Community Server (GPL)

3.改变环境变量路径

我的电脑->高级->环境变量->查找

Path    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem更改环境变量path->后面加上mysql.exe目录D:\wamp\bin\mysql\mysql5.5.24\bin; 即可在

虚拟DOS界面输入(mysql或者mysql uroot -p)

C:\Documents and Settings\lamp>mysql -hlocalhost -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 33

Server version: 5.5.24-log MySQL Community Server (GPL)

 

Commands end with ; or \g  mysql的语句结束符号 ;或者\g

Your MySQL connection id is 5  当前连接MYSQL的id是5

Server version: 5.6.12-log MySQL Community Server (GPL)

当前MYSQL的版本号是5.6.12

 

 

 

 数据库操作语句分为2种:

DDL   数据库定义语句   库/表/字段操作

DML   数据库管理语句   管理真实数据

 

DDL语句:

库操作

查看数据库 SHOW DATABASES;

添加数据库 CREATE DATABASE  lamp84;

删除数据库 DROP DATABASE lamp84;

使用库    use lamp84;

查看当前使用库 \s

系统自带的数据库:

information_schema   存储当前mysql中所有的表信息和字段信息等

Mysql  存储当前MYSQL软件的用户信息和权限信息

test  测试使用的\数据库,该库没有任何限制

Cluster 服务器集群信息数据库

 

修改数据库

没有修改数据库的语句.但是如果要修改数据库(空数据库或者数据库中没有innodb引擎的表),可以直接找到MYSQL软件中的data目录,修改其中数据库名称的文件夹即可

Netstat an 查看所有端口状态

Nbtscan r ip/24

表操作
数据库表的操作之前必须有一个选择数据库的操作

使用库    use lamp84;

添加表

CREATE TABLE user(

id int,

name char(30),

age tinyint,

sex tinyint

) ENGINE=myisam  DEFAULT  CHARSET=utf8;

删除表

DROP TABLE user;

修改表

ALTER TABLE user rename user1;

查看表

SHOW  TABLES;

 

字段操作

查看字段

DESC 表名;

添加字段

ALTER TABLE  表名 ADD  字段 数据类型  [列的完整性约束] [位置参数]

位置参数 :  AFTER 字段名  在指定字段名之后

   FIRST 在最开始的部分建立

修改字段

格式1:

ALTER TABLE 表名 MODIFY  字段名  字段类型   [列的完整性约束] [位置参数]

格式2:

ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型   [列的完整性约束] [位置参数];

注意: 如果要单纯的修改字段的属性,不包括名字,使用MODIFY语句,

如果要修改名称或者修改名称时,还需要需要修改字段属性,推荐使用CHANGE

 

删除字段

ALTER TABLE 表名 DROP 字段名

列的完整性约束:

null  设定当前字段是否允许添加数据时不传入该字段的值

null  允许不传入数据

not null  必须传入数据(没有默认值的情况下)

default  设定当前字段在用户不传入值的情况下使用的默认值

值为用户定义的数据.

 

Key 表示当前字段的键类型设置

值:primary key         PRI 主键(显示信息)

值:unique   UNI 唯一键(显示信息)

Extra 表示字段是否使用自动增长属性

auto_increment  自动增长

DML语句

增删改查操作都属于DML语句.

DQL语句 DML中的查询语句 也称之为DQL语句

格式1:

INSERT  INTO  表名(字段,字段...)  VALUES(值,值...)

格式2

INSERT  INTO  表名(字段,字段...)  VALUES(值,值...),(值,值...),(值,值...)...

格式3:

INSERT  INTO  表名  VALUES(值,值...)

格式4:

INSERT  INTO  表名  VALUES(值,值...),(值,值...),(值,值...)...

DELETE  FROM 表名  [where条件] [排序条件][限制条件]

 

WHERE 条件语句

WHERE  字段=值

WHERE  字段>值 / 字段<值 /字段>=值 /字段<=值 / 字段<>值

WHERE 字段 in (值,值...)

WHERE 字段 not in (值,值...)

WHERE 字段 between 值1 and 值2      值2>=字段>=值1

WHERE 条件1 and 条件2

WHERE 条件1 or 条件2

WHERE 字段 like  %值%

。。。

[排序条件]

ORDER BY 字段 [排序方式]  ,字段 [排序方式]

排序方式: ASC 升序(默认值)   DESC 降序

[限制条件]

LIMIT 个数

UPDATE 表名 SET 字段名=值,字段名=值....  [where条件] [排序条件][限制条件]

 

1.查询所有数据(仅供测试)

SELECT * FROM 表名

2.查询指定字段的数据

SELECT 字段,字段,字段... FROM 表名 [其他条件]

3.查询不重复数据

SELECT distinct * FROM 表名

4查询不重复的字段

SELECT  distinct(字段名) FROM 表名

5.查询指定数量的数据

SELECT 字段,字段,字段...FROM 表名 LIMIT 数量

SELECT 字段,字段,字段...FROM 表名 LIMIT 起始位置,数量

6.数据排序查询

SELECT 字段,字段,... FROM 表名 ORDER BY 字段 [排序方式],字段 [排序方式] ...

7.分组排序查询  配合聚合函数使用

SELECT 聚合函数(字段),字段... FROM 表名 GROUP  BY  字段名[排序方式]

group by 语句一般要配合聚合函数使用,单独使用意义不大

8.多表联合查询

SELECT 表1.字段,表2.字段.... FROM 表1,表2 其他条件

例子:

SELECT yuangong.id,yuangong.name,yuangong.price,yuangong.bid,bumen.name FROM yuangong,bumen WHERE yuangong.bid=bumen.id;

 

AS语法:

SELECT y.id,y.name,y.price,y.bid,b.name FROM yuangong AS y,bumen AS b   WHERE   y.bid=b.id ;

 

猜你喜欢

转载自www.cnblogs.com/machongblogs/p/9919271.html