1、net start mysql 首先要启动MySQL服务,所以得用这个命令;net stop mysql 关闭mysql服务。
2、msyql -h localhost -u root -p (-h后面参数是服务器的主机地址,输入localhost或者127.0.0.1;-u指的是登录数据库的用户名 -p指的是用户密码)
3、show databases; 用于查看存在的数据库
create database database_name;用于创建数据库
drop database database_name;用于删除数据库
4、创建表
create table table_name(
字段名1 ,数据类型【约束】【默认值】,
字段名2 ,数据类型【约束】【默认值】,
字段名3 ,数据类型【约束】【默认值】,
........
【表级别约束函数】
);
5、使用主键约束(单字段主键、多字段联合主键)
A.在定义列时同时制定主键
字段名 数据类型 primary key [默认值]
B. 在定义完所有的列再指定主键
[constraint <约束名>] primary key [字段名]
6、使用非空约束、唯一性约束(要求该列唯一,允许为空,但是只能出现一个空值)
字段名 数据类型 not null
字段名 数据类型 unique 或者 在最后 [constraint <约束名> unique <字段名>
7、默认约束
字段名 数据类型 default 默认值
8、表的属性值自动增加
字段名 数据类型 atuo_increment
9、查看数据表结构
DESCRIBE table_name;
DESC table_name;
10、查看表的详细结构
Show create table table_name \G; (其中\G 参数是为了使显示的结构更加直观,易于观察)
11、修改数据表
修改:
1.(修改表名)
alter table table_name1 rename table_name2;
2.(修改字段的数据类型)
Alter table table_name modify 字段名 数据类型;
3. (修改字段名)
Alter table table_name change 旧字段名 新字段名 数据类型;
补充:change也可以只修改数据类型,和modify达到相同的效果,将新旧字段名设为一样,只修改数据类型。
添加:
4. 添加无完整性约束条件字段
Alter table table_name add managerId int (20);(add后面为自定义的添加字段)
5. 添加有完整性约束条件字段
Alter table table_name add column1 varchar(23) not null;(add后面为自定义的添加字段和约束)
6.在表的第一列添加一个字段
Alter table table_name add column2 int(11)first;
7.在表指定列之后添加一个字段
Alter table table_name add column3 int(11) after column2;
8.删除字段
Alter table table_name drop 字段名
9. 修改字段的排列位置
Alter table table_name modify 字段1 数据类型 first|after 字段2;
10. 更改表的引擎
Alter table table_name engine=存储引擎名;
11. 删除表的外键操作
Alter table table_name drop foreign key 外键约束名
12. 删除没有被关联的表
Drop table [if exists] table1,table2,table3.....tablen;
13. 删除被关联的表
如果有关联约束,如外键约束,则先把外键约束删掉,再重新过来把表删除掉
Create database company;
Use company;
Create table offices(
officeCode int(10) primary key not null unique,
city varchar(50) not null,
address varchar(50),
country varchar(50) not null,
postalCode varchar(15) unique
);
实例一:在进行表的修改全过程可以采用desc table_name;进行查看是否变化)
Create table employees(
employeeNumber int(11) primary key not null unique auto_increment,
lastName varchar(50) not null,
fistName varchar(50) not null,
mobile varchar(25) unique,
officeCode int(10) not null,
jobTitle varchar(50) not null,
Birth datetime not null,
Note varchar(255),
Sex varchar(5) ,
Constraint fk_emp_off foreign key (officeCode) references offices(officeCode)
);
Alter table employees modify mobile varchar(25) after officeCode;
Alter table employees change Birth employee_birth datetime;
Alter table employees modify sex char(1) not null;
Alter table employees drop note;
Alter table employees add favorite_activity varchar(100);
Alter table employees drop foreign key fk_emp_off ;
Drop table offices;
解惑:
1、表删除时需谨慎
2、每个表不一定要有主键,但是多表进行连接操作时需要用到主键。
3、并不是每个表都可以选择存储引擎。外键约束是用来保证参照完整性,如果表需要关联外键,却指定了不同的存储引擎,这些表之间是不能创建外键约束。简言之,存储引擎不同的表示不能创建外键约束的。
4、Auto_increment 约束的字段默认是从1开始的,可以指定第一条插入记录自增字段的值。
实例二:
Create database Market;
Use Market;
Create table customers(
c_num int(11) primary key not null unique auto_increment,
c_name varchar(50),
c_contact varchar(50),
c_city varchar(50),
c_birth datetime not null
);
Alter table customers modify c_contact varchar(50) after c_birth;//修改字段顺序
Alter table customers modify c_name varchar(70);//修改字段数据类型
Alter table customers change c_contact c_phone varchar(50);//修改字段名字
Alter table customers add c_gender char(1);//添加字段
Alter table customers rename customers_info;//修改表名
Alter table customers_info drop c_city varchar(50);//删除字段
Alter table customers_info engine=MyISAM;//修改引擎
Create table orders(
o_num int(11) primary key not null unique auto_increment,
o_date date,
c_id varchar(50),
Constraint fk_em_or foreign key(o_num) references customers_info(c_num)//创建外键约束
);
Alter table orders drop foreign key fk_em_or;//删除外键约束
Drop table customers_info;//删除表