SQL语句 增删改总结

增删改总结

1.创建表

    CREATE TABLE IF NOT EXISTS TABLLE_NAME(
       tutorial_id INT NOT NULL AUTO_INCREMENT,
       tutorial_title VARCHAR(100) NOT NULL,
       tutorial_author VARCHAR(40) NOT NULL,
       submission_date DATE
       PRIMARY KEY ( tutorial_id )  
       )

2.查看数据表

SHOW TABLES FROM `smbms`

3.查看表结构

SHOW COLUMNS FROM `smbms_address`

4.插入一条记录,如果省略列名和字段名,所有的值都赋值

INSERT INTO (col_name,....)VALUES(val,....);

5.修改数据表(添加单字段)

ALTER TABLE tab_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]

6.修改表示例(添加单字段)

ALTER TABLE smbms_bill ADD userName INT(2) DEFAULT 22 NOT NULL AFTER productName;

7.修改表添加多列字段

ALTER TABLE tab_name ADD [COLUMN] (col_name column_definition,.....)

ALTER TABLE smbms_bill ADD(person VARCHAR (10) DEFAULT 24,address VARCHAR (25));

8.删除表字段

ALTER TABLE tab_name DROP [COLUMN] col_name
ALTER TABLE smbms_bill DROP age;

9.同时删除多列

ALTER TABLE smbms_bill DROP address,DROP userName;

10.删除一列的同时在新增一列

ALTER TABLE smbms_bill DROP userName,ADD age INT(2) NOT NULL DEFAULT 22;

11.添加主键约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] PRIMARY KEY [index_type](index_col_name);
ALTER TABLE t_user ADD CONSTRAINT PK_t_user_uid PRIMARY KEY(uid);

12.添加唯一约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type](index_col_name);
ALTER TABLE t_user ADD UNIQUE (user_name);#user_name 要加括号

13.添加外键约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition
#外键添加要求(相同的数据类型与长度,varchar除外,引擎是innoDB,字段上要有索引)
ALTER TABLE t_user2 ADD FOREIGN KEY (pid) REFERENCES t_user (uid);

14.添加/删除默认约束

ALTER TABLE tal_name ALTER [COLUMN] col_name {SET DEFAULT literal|DROP DEFAULT}

15.添加默认约束

ALTER TABLE t_user ALTER user_name SET DEFAULT 'zhangsan';

16.删除默认约束

ALTER TABLE t_user ALTER user_name DROP DEFAULT;
#删除主键约束(因为主键约束只有一个所以不用写字段名)
ALTER TABLE tal_name DROP PRIMARY KEY
ALTER TABLE t_user2 DROP PRIMARY KEY;

17.删除唯一约束

ALTER TABLE tab_name DROP {INDEX|KEY}index_name
#首先应查看数据表的唯一约束名字
SHOW INDEX FROM t_user
#删除唯一约束
ALTER TABLE t_user DROP INDEX user_name;

18.删除外键约束

    ALTER TABLE tal_name DROP FOREIGN KEY fk_symbol
    #查看外键约束获取外键的名字,这里是(`t_user2_ibfk_1`)
    SHOW CREATE TABLE t_user2
    #删除外键
    ALTER TABLE t_user2 DROP FOREIGN KEY `t_user2_ibfk_1`;

19.修改列定义(修改字段类型|名称|位置)

    ALTER TABLE tal_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
    #将user_name移到第一位(如果user_name有默认值要写默认值,如果不为空,要写not null)
    ALTER TABLE t_user MODIFY user_name VARCHAR(10) FIRST;
    #将uid修改成TINYINT类型(在修改型的时候如果从大类型修改到小类型,有可能造成数据的丢失)
    ALTER TABLE t_user MODIFY uid TINYINT (2);
    #将uid修改列名称为u_id,类型修改为int
    ALTER TABLE t_user CHANGE uid u_id INT(2);
    #修改表字段
    alter table `t_user2` change user_name uid int(4) not null,change address int(4) not null;

20.数据表更名

#方法一:

ALTER TABLE tal_name RENAME[TO|AS] new_tbl_name

#方法二:

RENAME TABLE tbl_name TO new_tbl_name[tbl_name2 TO new_tbl_name2]....

#将t_user修改成t_user3

ALTER TABLE t_user RENAME TO t_user3

#将t_user3修改成t_user 

RENAME TABLE t_user3 TO t_user

修改补充

1.用SQL语言将某表的某个字段的数据类型改为。。。
alter table [table_name] modify [ziduan_name] [type];
2.用SQL语言将xxx1字段的位置改到xxx2字段的前面。
Alter table [table_name] modify xxx1 xxx1_type after xxx2

3.用SQL语言将grade字段改名为score。

Alter table [table_name] change grade score varchar(4) not null;
4.用SQL语言将grade表的存储引擎更改为MyISAM类型。
       Alter table grade engine = MyISAM

借鉴了这位大兄弟的翻译 https://blog.youkuaiyun.com/qq_38967578/article/details/80875939
非常感谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值