1数据服务操作
- 开启服务
net start MySQL
- 关闭服务
net stop MySQL
- 登录 mysql -h 主机地址 -u 用户名 -p 密码
如登录本机mysql -h localhost -u root -p
2数据库的基本操作
show engines;
//查看系统中所有的存储引擎,包括默认的存储引擎。
show databases;
//查看系统中的所有数据库。
create database
(数据库名字);创建一个数据库
drop database
(数据库名字);删除一个数据库,在执行该命令时,MysQL不会给出任何提示的确认信息,执行完删除数据库后,数据库中的存储的所有数据表和数据也一同被删除,并且不可恢复。
show create database zoo \G
显示数据库名和创建数据库的语句,后面为注释
上图显示数据库名和创建数据库的语句,后面为注释
3数据库表的基本操作
use database 数据库名
//选择哪一个数据库进行操作,不选择数据库,直接操作表,会报错
- 3.1 创建数据表
create table <表明>
(
字段名1,数据类型[列级别约束条件] [默认值],
字段名2,数据类型[列级别约束条件] [默认值],
……
[表级别约束条件]
)
如在数据库zoo,创建表tb_01
mysql> use zoo;
mysql> create table tb_01
-> (
-> id int(11),
-> name varchar(25),
-> deptId int(11),
-> salary float
-> );
Query OK, 0 rows affected (0.22 sec)
创建成功后使用show tables 查看是否创建成功
mysql> show tables;
+---------------+
| Tables_in_zoo |
+---------------+
| tb_01 |
+---------------+
1 row in set (0.00 sec)
mysql>
- 3.2 创建主键约束(Primary Key Caonstraint)
主键分为单字段主键和多字段联合主键 - 3.2.1 单字段主键
字段名 数据类型 primary key
mysql> create table tb_02
-> (
-> id int(11) primary key,
-> name varchar(25),
-> daptid int(11),
-> salary float
-> );
[constraint 约束名] primary key [字段名]
mysql> create table tb_03
-> (
-> id int(11),
-> name varchar(25),
-> daptid int(11),
-> salary float,
-> primary key(id)
-> );
- 3.2.2 联合主键
primary key [字段1,字段2……]
如 创建了name和diptId两个字段的联合主键
mysql> create table tb_04
-> (
-> name varchar(25),
-> deptId int(11),
-> salary float,
-> primary key(name,deptId)
-> );
Query OK, 0 rows affected (0.28 sec)
- 3.3 使用外键约束:
CONSTRAINT <外键名> FOREIGN KEY <字段> REFERENCES <主表名> <主键列>
- 3.4定义非空约束
指字段值不能为空,添加数据时,对于非空约束的字段,如果不赋值,会报错。
字段名 数据类型 not null
- 3.5使用唯一性约束
字段名 数据类型 UNIQUE
- 3.6 设置字段的自动属性
字段名 数据类型 AUTO_INCREMENT
例
mysql> CREATE TABLE tb_01
-> (
-> id int(6) primary key auto_increment,//主键 加自动增长
-> name varchar(100) ,
-> age int(6) default 16,//默认值为16
-> constraint sth unique(name)//设定列name为唯一约束
-> );
Query OK, 0 rows affected (0.24 sec)
4数据库表结构
- 4.1查看数据库表的基本信息包括字段,数据类型,是否为空,主键,默认值等。
describe 表名
mysql> describe tb_01
-> ;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(6) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | YES | UNI | NULL | |
| age | int(6) | YES | | 16 | |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
- NULL:是否可以存储NULL值
- KEY :查看该列的索引。PRI:主键;UNI:UNIQUE索引;
MUI:给定值允许出现多次
- Default:表示该列是否为默认值
- Extra:附件信息
- 4.2 查看表的结构的详细语句
show create table
如:
mysql> show create table tb_01;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_01 | CREATE TABLE `tb_01` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`age` int(6) DEFAULT '16',
PRIMARY KEY (`id`),
UNIQUE KEY `sth` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)