精典mysql入门教程
生活中的常识:记账. 账:就是数据/信息,
记账--> 就是储存数据/信息 生活中,账一般记在哪儿呢? 比如廉本上,门上,墙上.日历上. 问上10/12,老孙头借豆种50斤
无论记在哪儿:记录的都是信息,变化的只是信息的载体. 随着现代社会数据的急剧增多,我们用更高效的记录信息的方式. 来一个班级学生档案 姓名,年龄,家乡 姓名:张三 年龄:22 家乡:怀柔 姓名:李四 年龄:24 家乡:密云 60个学生,就需要60个纸片,而且这60个纸片,上面字有重复的.姓名/年龄/家乡 信息有冗余,想个办法更让信息更有条理. 姓名 张三 李四 年龄 22 24 家乡 怀柔 密云 好处:再多一个学生的话,只需要添加一行数据,姓名/年龄/家乡不用重写了.
班级要考试,考试成绩,也要记录起来 姓名 科目 张三 李四 成绩 68 23 语文 思想品德 现在这一个班级里,有档案表/成绩表/违纪表/就业登记表, 这些表,都是用来管理公益1期班的信息用的.
因此,这些表,放在一个档案袋里——档案袋是数据库
公益1期有档案袋(库1),公益2期有档案袋(库2)----->交给王大婶子来管理 王大婶管理着许多库,我们想要数据时,找王大婶.
王大婶子->数据库服务器
一台服务器下有多个库,一个库下有1到多张表,表有多行多列的数据. 作为WEB开发程序员,和表的操作相对多.
数据库服务器是不是mysql呢?
答:对于数据库存储数据来说,国际上有sql标准. 如:列类型,sql语法等是有ISO标准的.
很多软件开发商,遵守sql标准,来开发一套软件,用来储存和管理数据. 这套软件,就可以称为数据库管理系统.
就好比说,看网页可以用firefox,IE,chrome,
管理数据呢,可以用 mysql, oracle,IBM DB2,sqlite, postgresql 这些软件都能够用来管理数据.
数据库大体上要遵循Sql标准,但未必100%遵循.
答:不是的,各厂商的产品可能对sql标准的执行有微小差异.
比如mysql就没有全连接folljoih没有sql server中的top N这种用法 就好像,html有w3c标准来约束,但各浏览器也有解析不兼容的地方,但是少数. 为什么要先用mysql来学习? 答:
1 :mysql 和 linux php,apache,配合紧密,LAMP 架构. 2:mysql开源,免费.
请同学们有时间也可以关注一下postgresql
答:postgresql也是一个开源数据库,而且sql标准执行方而,比mysql要严格? Mysql-->卖给->sun-->oracle,版权开源方而前途未卜.
安装Mysql,装哪一个版本?
答:对于软件,尤其是开源软件,不要追求最新的版本. 往往最新的版本,意味着bug多,新用户往往成了”小白鼠” 开源软件的版本,一般会有beta版,stable版. 我们尽量选用稳定版.
目前,比较稳定的2个版本,mysql5.1,mysql5.5 连接数据库:以命令行连接为例:
注意:如果在命令提示下,出现如下提示:
\\anpMnysql5 .l\\bin>nysql ?nysql-不是内部或外部命令?也不是可运行的程序 或批处理文件。 则说明:没有配置环境变量,导致系统找不到mysql.exe. 解决:
1:配置环境变量,指定mysql\\bin目录 2:每次进入到mysql\\bin目录,再运行mysql 3:如何连接服务器
服务器地址(可用IP,域名):端口(3306) 用户名 密码
Mysql -h localhost -uUserName -pPassWd -h如果不写,则默认连localhost
如果看到下而的图标 T ype # help;^ c yv W for help. 1 nysql>
则说明连接服务器成功了. 澄清一个概念
连接成功后,:命令行黑窗口和mysql服务器是什么关系? 答:客户端client--〉服务端server的关系.
就好像你的浏览器与…>163网站的服务器的关系一样. 还有没有其他mysql客户端? §:^*,navcat,mysqlfront,phpMyAdmin,SQLyogEnt入门最基本语句
当连上服务器后,我们首先而对的是?
答:是库,库有1个或多个,因此我们要想对表/行做操作的话, 得先选库. 查看一下所有的库,怎么办? Mysql>Show databases;
:1;
选库语句:Use库名 pvsql> use test; database changed
创建一个数据库:create database数据库名[charset字符集] [rii;sql> create database gyl charset utf 8 ; [Juerv 0K# 1 row affected <0.14 sec>
删除一个数据库:drop database数据库名; iysql> drop database gyl ; 丨uery OK,0 rows affected <0-61 sec> 把数据库改改名?
Mysql中,表/歹!J可以改名,database不能改名.
phpMyAdmin似乎有这功能?他是建新库,把所有表复制到新库,再删旧库完成的.
当选了库之后,我们而对的是表 查看库下而的所有表:show tables; 先给大家提供一个简单的建表语句,供练习用 create table stu ( snum int, sname varchar( 10)
)engine myisam charset utf8;
III engine是指表引擎,和性能特点相关,此处先照抄.
删除表:drop table stu;rnysql> tt给表改个名 mysql> rename table stu to nev/stu; Query 0K? 0 rows affected <0-19 sec> nysql> show tables; S Tables_injyl S S newstu
1 row in set <0.00 sec> 清空表数据:truncate表名
nysql> truncate newstu; Query OK, 0 rows affected C0.16 sec> nysql> select * fron newstu; Empty set <0.02 sec>
Truncate和delete是有区别的,