创建数据库的命令:
create database demo01;
规范要求:
以数字,字母,下划线构成的字符串,但不要以数字开头。
查看数据库
show databases;
查看字符集
show variables like 'character%';
查看端口号
show variables like 'port';
查看数据存储路径
show variables like 'datadir';
创建和修改表结构的命令
切换数据库
use demo01;0
创建表
create table test(id int(11),name varchar(50));
展示表
desc test;
创建表主码,不能为空
create table student(sno char(11) primary key,sname varchar(20) not null);
创建课程表
mysql> create table course(
-> cno varchar(20) primary key,
-> course_name varchar(50) not null,
-> cpno varchar(20),
-> course_credit decimal(4,1)
-> );
增加列
alter table student
-> add ssex char(2) not null
为列设置默认值soh
alter table student
-> alter ssex set default '男'
-> ;
给表重新命名test改成test2rename table test to test2;
alter table test2
-> rename to test;
更改student表中ssex为枚举类型
取值(”male“,”female“)默认值为male
alter table student
-> modify ssex enum('male','female') default 'male';
--------------------------------------------------------------
主键不能为空,不能重复
在test表中将id设为主键
mysql> alter table test
-> add primary key(id);
看数据库有哪些表
show tables;
创建表
mysql> create table sc(sno char(11),
-> cno varchar(20),
-> grade decimal(6,2))
-> ;
创建外键
alter table sc
-> add foreign key(sno) references student(sno);
设置sno cno为主键
mysql> alter table sc
-> add primary key(sno,cno);
--------------------------------------------------
命令关键字
DDL(对表结构的操作):cerate alter drop
DML(表内容):insert update delete
DQL(查询):select * from 表名
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| 1 | 张三 |
+----+------+
1、为表添加数据
insert into 表名(字段1,字段2,.....) values(值1,值2,.....)
mysql> insert into test(id,name) values(1, '张三');
mysql> insert into test(id,name) values(3);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
mysql> insert into test(id) values(3,'lisi');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
mysql> insert into test(id) values(1,'lisi');
ERROR 1062 (23000): Duplicate entry '1' for key 'test.PRIMARY'