写在前面
这里说一些很重要的提示点:
对于表格的更改,一般是alter table tableName+句子
句子be like:
e.g.
alter table o+ 以下句子
1. add constraint fk_o_b foreign key(b_id) references b(b_id);#添加外键
2. drop foreign key fk_o_b;#删除外键
3. modify b_id varchar(20);#更改数据类型
4. add state varchar(20);#添加一行
对于数据操纵
添加数据
insert into tableName values(x,x,x,x);
更新数据(改数据一个意思。。。敲黑板了,老忘记
update tableName set col=value where id=3;
举例子
update o set state ='已完成' where id=1;
#o是表名
删除数据的某一行!!!(不是删除某个列!!!注意区分
delete from o where id=1;
#o是表名
现在是写在后面
1.建表
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
column3 datatype constraints,
...
CONSTRAINT constraint_name PRIMARY KEY (column_name)
);
在表内添加约束e.g.
划重点:添加外键的话表的定义中要先有那个列,再是那个列参照的是什么表的什么列!!!
CREATE TABLE department(
deptid INT(4) PRIMARY KEY,
deptname VARCHAR(40) NOT NULL);
CREATE TABLE student(
sid INT(4) PRIMARY KEY,
sname VARCHAR(40),
deptid INT(4) NOT NULL,
#注意到表内已经有了deptid这列!!!!!!
CONSTRAINT fk_deptid FOREIGN KEY (deptid) REFERENCES department(deptid));
1.1 在表外添加主键和外键
alter table tableName add constraint primary key b_id (b_id);
alter table tableName add constraint fk_s_w foreign key(w_id) references wTable (w_id);
还有一种,e.g.
ALTER TABLE tableName MODIFY id int PRIMARY KEY;
类比一下:
ALTER TABLE tableName MODIFY id int AUTO_INCREMENT;#自增加
1.2 删除外键约束 drop
ALTER TABLE tableName
DROP FOREIGN KEY fk_xx_xxx;
1.3 更改数据类型 modify
alter table tableName modify start_time datetime;
1.4 删除数据项!!!!!! drop
ALTER TABLE table_name DROP column_name;
e.g.
alter table student drop birthday;
1.5 修改字段名称 change
alter table tableName change beforeName CurName varchar(20);
2.时间类型
DATE: Used to represent a date (year, month, and day) value. The format is'YYYY-MM-DD'.TIME: Used to represent a time value (hours, minutes, and seconds). The format is'hh:mm:ss'.DATETIME: Used to represent a combination of date and time values. The format is'YYYY-MM-DD hh:mm:ss'
3.数据操纵
3.1添加数据 insert into
insert into tableName values('102','xx','x', '2021-09-22');
3.2更新数据 update
UPDATE tableName SET column1=value1 WHERE xxx='xxxx';
UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;
e.g.
update student set class=2 where s_id=3;
3.3删除某一行 delete from
DELETE FROM table_name WHERE some_column = some_value;
e.g.
DELETE FROM student WHERE id =1 ;
5.Mysql安全模式(其实很重要)
安全模式:MySQL 的安全模式是一种用于保护 MySQL 数据库的特殊模式,可以限制对数据库的一些敏感操作,如 DROP TABLE 和 DELETE 语句等。
解决办法:
SET SQL_SAFE_UPDATES = 0;
6.tips
- id的数据类型是INT,varchar还得加''
- date/datetime 加'xxx'