#database操作
mysql> create database 库名;
注意:数据库命令规范
区分大小写
唯一性
不能使用关键字和特殊字符 create select
不能单独使用数字
最长64字符
mysql> show databases; //查看数据库
+--------------------+
| ? ? ?Database ? ? |
+--------------------+
| information_schema | //虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,存放内存中
| mysql ? ? ? ? ? ? ? | //授权库
| test ? ? ? ? ? ? ? ? ? | //公共库,任何人都以访问
+--------------------+
mysql> select user(); ? //user函数获取当前登录到mysql的用户
mysql> CREATE ?DATABASE school; //创建数据库school
mysql> drop database 123a; //删除数据库123a,注意:如果数据库有表,将一并删除
mysql> use school; //使用数据库school
mysql> select database(); //database函数查看当前所在的库
?
?
#table操作
mysql> use school; use 库名;
Database changed
?
mysql> create table student1( create table 表名(
? ?-> name char(10), 字段名1 类型[(宽度) 约束条件],
? ?-> sex char(8), 字段名2 类型[(宽度) 约束条件],
? ?-> age int(3) 字段名3 类型[(宽度) 约束条件]
? ?-> ); );
?
注意:
在同一张表中,字段名是不能相同
宽度和约束条件可选
字段名和类型是必须的
?
mysql> show tables; //查看表(当前所在库)
?
mysql> desc student1; //查看表结构
?
mysql> select name,sex,age from student1; //查询表中所有字段的值
?
mysql> select * from student1; //查询表中所有字段的值
?
mysql> select name,age from student1; //查询表中指定字段的值
?
?
向表中插入内容:
insert into 表名(字段1,字段2...) values(字段值列表...)
?
例:mysql> insert into student1(name,sex,age) values
? ? ?-> ('tom','boy',23);
例:mysql> insert into student1 values //顺序插入,不用指定字段名
? ?-> ('jack','boy',21), //字符类型的值使用单引号或双引号
? ?-> ('alice','girl',19), //插入多个记录
? ?-> ('heyy','boy',34);
例:mysql> insert into student1(name) values('robin'); //只向指定的字段插入值
?
?
mysql> select * from student1; 查询表所有内容
?
?
?
#查看库、表在磁盘上是如何体现的 (MyISAM表)
[root@yang ~]# cd /var/lib/mysql/
[root@yang mysql]# ls;cd school
ibdata1 ?ib_logfile0 ?ib_logfile1 ?mysql ?mysql.sock ?school ?test
[root@yang school]# ls
db.opt ?student1.frm ?student1.MYD ?student1.MYI
?
==student1.frm //表结构
==student1.MYD ? //数据My Data
==student1.MYI //表索引My Index
?
[root@yang school]# ll -d /var/lib/mysql/
drwxr-xr-x 5 mysql mysql 4096 11-30 11:27 /var/lib/mysql/
[root@yang school]# ll -d /var/lib/mysql/school/
drwx------ 2 mysql mysql 4096 11-30 11:41 /var/lib/mysql/school/