==============================
MYSQL数据库的常见操作
==============================
一、mysql的连接与关闭
-h:指定所连接的服务器位置
-u:数据库的用户名
-p:数据库的密码
1 mysql -u 用户名 -p //连接数据库 2 密码 3 exit //关闭数据库
1 mysql_connect($host,$user,$password); //连接数据库 2 mysql_close() //关闭数据库
二、创建数据库
1、创建一个名为test1的数据库
1 mysql> create database if not exists test1;
2、显示所有数据库
1 mysql> show databases; 2 +--------------------+ 3 | Database | 4 +--------------------+ 5 | information_schema | 6 | mysql | 7 | performance_schema | 8 | test | 9 | test1 | 10 +--------------------+ 11 5 rows in set (0.00 sec)
3、使用名为test1的数据库
1 mysql> use test1;
4、删除一个名为test1的数据库
1 mysql> drop database if exists test1;
5、创建一个表
三、数据表内容的简单管理
1、添加数据 表记录
1 insert into 表名(字段名称,字段名称...) values(值1,值2...);
2、删除数据
1 delete from 表名 where id=1;
3、修改数据
1 update 表名 set 字段名称=新值,字段名称=新值... where id=1;
4、查看数据
1 select 字段名称,字段名称... from 表名;
5、创建表
1 create table 表名( 2 id int, 3 username varchar(30), 4 age int 5 );
四、数据值和列的类型
1、数值
1 int 2 tinyint 3 字段属性: 4 无符号的数 unsigned 增大存储范围 5 int(n) (n)默认情况下没有任何意义 不会影响存储范围 6 zerofill属性 0填充 3 001 012 123 1234 7 小数 8 float(n,m) 9 float(6,2); n共几位 2小数点后保留几位 10 decimal(6,2);
2、字符
1 char(n) 固定长度 n 0-255 密码 char(32) 2 varchar(n) 可变长度 用户名 n 0-65535 varchar(20)
3、时间和日期 int
4、NULL
五、创建索引
1、主键索引 primary key
一个数据表只能指定一个主键,而且主键的值不能为空
声明一个整形的字段cid,设置其属性为NOT NULL和AUTO_INCRENENT,并在字段后使用PRIMARY KEY设置该字段为主键索引。在创建book1时,声明的字段bid也设置相同的属性,而且使用另一种从句的方式将其设置为主键索引。并在book1表中声明一个cid的字段,用于保存book0表中的设置为主键的cid
1 mysql> create table book0 ( 2 -> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 -> bookname VARCHAR(15) NOT NULL 4 -> ); 5 Query OK, 0 rows affected (0.14 sec) 6 7 mysql> create table book1 ( 8 -> bid int(10) NOT NULL AUTO_INCREMENT, 9 -> cid MEDIUMINT(8) NOT NULL, 10 -> detail TEXT NOT NULL, 11 -> price DOUBLE NOT NULL, 12 -> PRIMARY KEY (bid) 13 -> ); 14 Query OK, 0 rows affected (0.11 sec)
注意:防止数据不一致,在删除一条记录之前,必须检查在其他数据表里是否存在对这条记录的引用
2、唯一索引 UNIQUE
避免数据重复出现
在创建表book2时,为类别名字段bookname使用关键字UNIQUE将其定义为一个唯一索引,避免插入数据时出现重复的类别名称
1 mysql> create table book2 ( 2 -> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 -> bookname VARCHAR(15) NOT NULL UNIQUE 4 -> ); 5 Query OK, 0 rows affected (0.08 sec
3、普通索引 INDEX
仅提高查询的速度
1 CREATE INDEX ind ON book3(uid,cid); #为book2表的两个列创建名为ind的索引
4、全文索引
mysql只支持英文文本