1、MySQL的登录
n 进入到CMD模式下,输入以下命令:
n 语法格式:mysql.exe –h主机名 -u用户名-p密码
n 参数说明:
l mysql.exe是mysql数据库的主应用程序,可以通过“环境变量”来加载它。
l -h是主机名。如:localhost或127.0.0.1
l -u是用户名。默认是root。
l -p是密码。默认密码是root。
n 注意:-h和localhost之间,-u和root之间,-p和root之间没有空格。
2、退出MySQL
MySQL数据库操作
1、显示数据库
语法格式:SHOW DATABASES;
说明:查看你的MySQL服务器上有多少个数据库。
2、创建数据库
l语法:CREATE DATABASE db_name [IF NOT EXITSTS] [CHARSET utf8]
l参数:
udb_name:自已定义的数据库名称。命名规则:字母、数字、下划线。不能是纯数字的名称。
u[IF NOT EXITSTS]:如果创建的数据库已经存在,则不会报错。
u[CHARSET utf8]:指定当前数据库的字符集,默认为latin1。这里的“utf8”中间不加模线。
l举例:create database 007online charset utf8;
3、删除数据库
l语法格式:DROP DATABASE db_name [IF EXISTS]
l参数说明:
u[IF EXISTS]条件判断,可选项。如果数据库存在,再进行删除,不会报错。
l举例:drop database 007online;
MySQL数据库字符集
l 描述:通过MySQL命令来修改数据库的字符集
l语法:ALTER DATABASE db_name DEFAULT CHARACTER SET utf8;
l说明:将已存在的数据库的字符集修改成指定的字符集。
MySQL数据表操作
1、选择当前操作的数据库
l语法:USE db_name;
l说明:选中数据库。
2、显示数据表
语法:SHOW TABLES;
3、创建数据表
l语法:CREATE TABLE table_name(列1 类型 列的属性,列2 类型 列的属性,……);
l说明:多个字段中间用英文下的逗号(,)隔开。
l参数说明
u列的名称:命名规则与数据库的规则一样。
u列的类型:整型、浮点型、字符型、文本型、日期型
u列的属性
n列是否为空:NOT NULL | NULL
n自动增长:AUTO_INCREMENT
l注意:自动增长属性,只能用于id字段。一个表只能有一个自动增长属性。
n默认值:DEFAULT value。value的值可以是整型或字符型。
n主键(主索引):PRIMARY KEY。
l注意:主索引一般指定是id字段。一个表只能有一个主索引。
u结论:id字段的属性,必须有三个:not null 、auto_increment、primary key
4、显示数据表的结构
语法:SHOW CREATE TABLE table_name;
5、describe显示表的结构定义
语法:DESCRIBE table_name
6、删除数据表
语法:DROP TABLE table_name
7、修改数据表(建议使用phpMyAdmin来修改)
MySQL数据类型
1、整型
tinyint 0-255 1个字节长
smallint 0-65535 2个字节长
int 0-21亿 4个字节长
bigint 0-42亿 8个字节长
2、浮点型
float(M,D) 单精度浮点数。 可以精确到小数点后7位。M代表总宽度,D代表小数位。
float(8,2)含义:宽度为8,小数为2位,整数为5位。
double(M,D) 双精度浮点数。可以精确到小数点后15位。M代表总宽度,D代表小数位。
3、字符型——取值范围(0-255)
char(M) 固定长度字符,M代表长度。
varchar(M) 可变长度字符,M代表长度。
char(6) 存储“邮编”。只能是6个。
varchar(6) 最少1个,最多6个。
简单分析:char()存取数据的速度,要比varchar()快一点。
4、文本型
tinytext 0-255最小文本型
text 0-1677万 中型文本
longtext 0-42亿 大型文本
5、日期时间型
date 形如: “YYYY-MM-DD”
time 形如:“HH:MM:SS”
datetime 形如: “YYYY-MM-DD HH:MM:SS”
SHOW命令的使用
lSHOW CREATE DATABASE db_name; //查看创建数据库的语句过程
从以上图上可见,数据库的默认字符集是latin1。
SQL基础
1、SQL简介
结构化查询语言(Structured Query Language)
SQL的主要功能:对数据库中的数据进行操作。
2、增加一条记录
语法:INSERT INTO table_name(字段1,字段2,字段3) VALUES(值1,值2,值3);
举例:insert into news(title,author,content,addate) values(‘新闻标题’ , ‘张三’ , ‘新闻内容’ , 140000000);
设置客户端请求数据的字符集
语法:set names gbk;
因为CMD程序本身的字符集是GBK,因此,改成UTF8不能解决乱码问题的。
2、删除记录
l语法:DELETE FROM table_name [WHERE 条件]
l 注意:如果省略WHERE条件的话,所有的数据都会被删除。
l where的语法:where 字段>值
l 举例:delete from news where id>5; //删除id>5的所有记录
l 举例:delete from news where id<=5; //删除id<=5的记录
l 举例:delete from news where id=170; //删除id=170的记录
l举例:delete from news where id<100 and hits<500; //删除id<100且hits<500都删除
3、修改记录
l语法:UPDATE table_name SET 字段1=新值1,字段2=新值2 [WHERE 条件]
l注意:如果省略where条件,所有的记录都会更新成一模一样。
l说明:不想修改的字段,不用列出。
l举例:update news set title = ‘新标题’ , content = ‘新内容’ where id=5;
4、查询记录
l 语法:SELECT 字段列表|* FROM table_name [WHERE条件] [ORDER BY ] [LIMIT]
l 说明
u 字段列表|*:查找指定的几个字段的信息,各个字段没有顺序。使用通过符“*”可以查询所有字段信息。
u WHERE条件:如果省略的话,将显示所有记录。
u ORDER BY:对查询的记录按哪个字段排序。ASC升序(默认)、DESC(降序)
n举例:select * from news order by id desc; //对id字段进行降序显示
n举例:select * from news order by id desc,hits asc; //id降序排列,如果存在相同,按hits升序排。
uLIMIT限制输出的记录数,主要用于“数据分页”。
n语法:limit 开始行号,记录数
n举例:limit 0,10; //从第0行起,返回10记录
n举例:limit 10,10; //从第10行起,返回10记录
(1)排序实例
(2)常用的查询运算符